f3router docs

English · 简体中文

Deployment overview

Scope

Operating f3router in Docker: the published image, Compose quickstart, persistence, healthchecks, the container-networking gotchas, and the ongoing maintenance work — upgrading, backups, and declarative configuration. Content is derived from Dockerfile, docker-compose.yml, .dockerignore, and docs/en/install/01-install.md.

For installation paths beyond Docker (one-liner script, local development, desktop app), see Install & deploy.

File index

File Description
01-docker.md The image (multi-stage build on node:20-bookworm-slim), Compose quickstart, ports and LAN access, volumes and persistence, healthcheck, non-root runtime, native better-sqlite3 compile rationale, and why a container cannot reach providers the host can (#733).
02-updates-and-backup.md Upgrade flow (docker compose pull && docker compose up -d), the dashboard update checker (#635/#703), backing up the SQLite data volume, and declarative config/catalog controls (#f4cd7b4).

Quick facts

Aspect Value
Image ghcr.io/f3tools/f3router:latest
Port 3001 (published on 127.0.0.1 by default; HOST_BIND=0.0.0.0 opens it to the LAN)
Data volume Named volume f3router-data, mounted at /app/server/data
Runtime user node (non-root)
Healthcheck GET /api/ping every 30s via an in-container Node fetch