📝 docs(README): update Docker Compose quickstart instructions
Some checks are pending
Build and Push Docker Image / build (push) Waiting to run

- use included docker-compose.yml for setup
- streamline update process with docker-compose pull

♻️ refactor(docker-compose): use prebuilt image and env_file

- switch to prebuilt GHCR image in docker-compose.yml
- utilize env_file for environment variables
- reorder ports configuration for clarity
This commit is contained in:
nocci 2025-12-07 12:22:53 +00:00
parent 61bb65653e
commit 6ee4087dfd
2 changed files with 16 additions and 27 deletions

View file

@ -22,27 +22,18 @@ Self-hosted overview for rented servers (VPS, dedicated, storage, managed). Mult
- Pull directly with `docker pull ghcr.io/nocci-sl/fleetledger:latest`. - Pull directly with `docker pull ghcr.io/nocci-sl/fleetledger:latest`.
## Quickstart with Docker Compose (prebuilt image) ## Quickstart with Docker Compose (prebuilt image)
Use the published GHCR image; no local build needed. Use the included `docker-compose.yml` with the published GHCR image; no local build needed.
```bash ```bash
cp .env-example .env cp .env-example .env
# set SESSION_SECRET in .env to a strong random value # set SESSION_SECRET in .env to a strong random value
cat > docker-compose.override.yml <<'EOF'
services:
fleetledger:
image: ghcr.io/nocci-sl/fleetledger:latest
environment:
SESSION_SECRET: ${SESSION_SECRET:?set in .env}
SESSION_COOKIE_SECURE: ${SESSION_COOKIE_SECURE:-1}
ENCRYPTION_KEY: ${ENCRYPTION_KEY:-}
ALLOW_SELF_REGISTRATION: ${ALLOW_SELF_REGISTRATION:-0}
volumes:
- ./data:/app/data
EOF
docker-compose up -d docker-compose up -d
``` ```
SQLite will live on the host in `./data/fleetledger.db`. SQLite will live on the host in `./data/fleetledger.db`.
To update, pull the latest image and recreate:
```bash
docker-compose pull
docker-compose up -d
```
## Quickstart with Docker (build locally) ## Quickstart with Docker (build locally)
```bash ```bash

View file

@ -1,19 +1,17 @@
services: services:
fleetledger: fleetledger:
build: . image: ghcr.io/nocci-sl/fleetledger:latest
container_name: fleetledger container_name: fleetledger
ports: env_file:
- "8000:8000" - .env
environment: environment:
- DATABASE_PATH=/app/data/fleetledger.db SESSION_SECRET: ${SESSION_SECRET:?Set SESSION_SECRET in .env}
# SESSION_SECRET must be provided (e.g. via .env) and should be long and random SESSION_COOKIE_SECURE: ${SESSION_COOKIE_SECURE:-1}
- SESSION_SECRET=${SESSION_SECRET:?Set SESSION_SECRET in your environment} ENCRYPTION_KEY: ${ENCRYPTION_KEY:-}
# Set to 0 only for local HTTP testing; keep secure (default) in production ALLOW_SELF_REGISTRATION: ${ALLOW_SELF_REGISTRATION:-0}
- SESSION_COOKIE_SECURE=${SESSION_COOKIE_SECURE:-1} DATABASE_PATH: ${DATABASE_PATH:-/app/data/fleetledger.db}
# Optional: encryption key for management passwords (Fernet key)
- ENCRYPTION_KEY=${ENCRYPTION_KEY:-}
# Allow self-registration after first admin (1 = allow, 0 = only admin-created)
- ALLOW_SELF_REGISTRATION=${ALLOW_SELF_REGISTRATION:-0}
volumes: volumes:
- ./data:/app/data - ./data:/app/data
ports:
- "8000:8000"
restart: unless-stopped restart: unless-stopped