services: # Django - Web framework feedvault: &feedvault container_name: feedvault image: ghcr.io/thelovinator1/feedvault:latest user: "1000:1000" restart: always networks: - db - web environment: - SECRET_KEY=${SECRET_KEY} - DEBUG=${DEBUG} - ADMIN_EMAIL=${ADMIN_EMAIL} - EMAIL_HOST_USER=${EMAIL_HOST_USER} - EMAIL_HOST_PASSWORD=${EMAIL_HOST_PASSWORD} - POSTGRES_HOST=feedvault_postgres - POSTGRES_PORT=5432 - POSTGRES_USER=feedvault - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - ADMIN_PAGE_PATH=${ADMIN_PAGE_PATH} - DISCORD_WEBHOOK_URL=${DISCORD_WEBHOOK_URL} volumes: - /mnt/Fourteen/Docker/FeedVault/staticfiles:/app/staticfiles # Nginx - Reverse proxy web: container_name: feedvault_web image: lscr.io/linuxserver/nginx:latest restart: always environment: - PUID=1000 - PGID=1000 - TZ=Europe/Stockholm expose: - 80 - 443 volumes: - /mnt/Fourteen/Docker/FeedVault/Nginx:/config networks: - web - tunnel # Postgres - Database postgres: container_name: feedvault_postgres image: postgres:16 user: "1000:1000" ports: - 5432:5432 restart: always environment: - POSTGRES_USER=feedvault - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_DB=feedvault volumes: - /mnt/Fourteen/Docker/FeedVault/Postgres:/var/lib/postgresql/data networks: - db networks: tunnel: driver: bridge db: driver: bridge web: driver: bridge