38 lines
1.5 KiB
YAML
38 lines
1.5 KiB
YAML
# ---------------------------------------------------------------------------
|
|
# APtool Docker Compose configuration
|
|
# ---------------------------------------------------------------------------
|
|
# Run with: docker compose up -d --build
|
|
# Logs: docker compose logs -f aptool
|
|
# Rebuild: docker compose up -d --build (after code changes)
|
|
# Stop: docker compose down
|
|
# ---------------------------------------------------------------------------
|
|
services:
|
|
aptool:
|
|
# Build the image from the Dockerfile in this directory (.)
|
|
build: .
|
|
|
|
# Map host port 5000 -> container port 5000.
|
|
# Access the app at http://<host-ip>:5000
|
|
ports:
|
|
- "5000:5000"
|
|
|
|
volumes:
|
|
# Bind-mount the uploads directory so photos persist outside the
|
|
# container. Without this, uploaded files would be lost on restart.
|
|
- ./uploads:/app/uploads
|
|
|
|
# Bind-mount sites.conf so you can edit it on the host without
|
|
# rebuilding the image. The app re-reads this file on every login
|
|
# attempt, so changes take effect immediately.
|
|
- ./sites.conf:/app/sites.conf
|
|
|
|
# Load environment variables from .env file. This file contains
|
|
# sensitive Nextcloud credentials (NC_URL, NC_USER, NC_PASS) and
|
|
# the Flask SECRET_KEY. It is excluded from git via .gitignore.
|
|
env_file:
|
|
- .env
|
|
|
|
# Restart the container automatically unless explicitly stopped
|
|
# with "docker compose down" or "docker stop". Survives host reboots.
|
|
restart: unless-stopped
|