Files
homelabstack/stacks/famapp/docker-compose.yml
T
ginnoir 51acb44322
Deploy to valhalla / deploy (push) Has been cancelled
Ship homelab quick wins: Recyclarr, infra pins, jd.ginnoir.com, and LAN lockdown.
Add Recyclarr to the media stack, pin database/object-store/Caddy/Vault images with Watchtower disabled, expose JDownloader at jd.ginnoir.com, and restrict minio/homarr/docs to internal_only. Mark TB-002–004 and TB-033 complete; bundle batch-3 OIDC env for FreshRSS, ownCloud, and Reactive Resume.
2026-06-11 02:28:06 -05:00

76 lines
2.0 KiB
YAML

# famapp stack — family app + its Postgres and MinIO (plant/container images).
#
# Volume -> bind-mount conversions:
# db data -> /config/famapp/postgres (SSD; DB)
# minio data -> /storage1/labdata/famapp/minio (ZFS; uploaded images)
# Only famapp joins edge (fam.ginnoir.com); db + minio stay private.
# famapp reaches Authentik (OIDC) and ntfy over their public URLs through Caddy,
# so there is no cross-stack container dependency.
services:
famapp:
container_name: famapp
image: ghcr.io/ginnoir/famapp:latest
pull_policy: always
restart: unless-stopped
networks: [famapp, edge]
env_file:
- stack.env
environment:
NODE_ENV: production
MINIO_ENDPOINT: http://famapp-minio:9000
ports:
- "3010:3000"
depends_on:
famapp-db:
condition: service_healthy
famapp-minio:
condition: service_healthy
famapp-db:
container_name: postgres_famapp
image: postgres:16-alpine
restart: unless-stopped
labels:
- "com.centurylabs.watchtower.enable=false"
networks: [famapp]
env_file:
- stack.env
volumes:
- /config/famapp/postgres:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U famapp -d famapp"]
interval: 10s
timeout: 5s
retries: 5
famapp-minio:
container_name: minio_famapp
image: minio/minio:RELEASE.2025-09-07T16-13-09Z
command: server /data --console-address ":9003"
restart: unless-stopped
labels:
- "com.centurylabs.watchtower.enable=false"
networks: [famapp]
env_file:
- stack.env
volumes:
- /storage1/labdata/famapp/minio:/data
ports:
- "9002:9000"
- "9003:9003"
healthcheck:
test: ["CMD-SHELL", "curl -sf http://localhost:9000/minio/health/live || exit 1"]
interval: 30s
timeout: 20s
retries: 3
start_period: 30s
networks:
famapp:
name: famapp
driver: bridge
edge:
name: edge
external: true