# --------------------------------------------------------------------------- # 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://: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