Files
felhom.eu/documentation/audits/permanent-gate-2026-10-01/familygate/spike-compose.yml
T

76 lines
2.9 KiB
YAML

# THROWAWAY — permanent-gate spike 2026-10-01 on 9202 only. Removed afterwards.
services:
spike-gate:
image: alpine:3.20
container_name: spike-gate
command: ["/gate/familygate"]
volumes:
- /root/spike/bin:/gate:ro
- /root/spike/gate-data:/data
networks: [traefik-public]
grimmory:
image: ghcr.io/grimmory-tools/grimmory:v3.4.1
container_name: gm-spike
environment:
- TZ=Europe/Budapest
- USER_ID=1000
- GROUP_ID=1000
- DATABASE_URL=jdbc:mariadb://gm-spike-db:3306/grimmory
- DATABASE_USERNAME=grimmory
- DATABASE_PASSWORD=${DB_PASSWORD}
- SWAGGER_ENABLED=false
- FORCE_DISABLE_OIDC=true
volumes:
- /root/spike/gm/data:/app/data
- /root/spike/gm/books:/books
- /root/spike/gm/bookdrop:/bookdrop
networks: [traefik-public, gm-internal]
depends_on:
grimmory-db: {condition: service_healthy}
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik-public"
- "traefik.http.routers.gm-spike.rule=Host(`gm-spike.enkisfelhom.hu`)"
- "traefik.http.routers.gm-spike.entrypoints=websecure"
- "traefik.http.routers.gm-spike.tls=true"
- "traefik.http.routers.gm-spike.middlewares=spike-family-auth@file"
- "traefik.http.routers.gm-spike.service=gm-spike"
# the e-reader path exception: NO family gate here — Grimmory's own authentication decides
- "traefik.http.routers.gm-spike-ereader.rule=Host(`gm-spike.enkisfelhom.hu`) && (PathPrefix(`/api/v1/opds`) || PathPrefix(`/api/v2/opds`) || PathPrefix(`/api/kobo/`) || PathPrefix(`/api/koreader/`) || PathPrefix(`/komga/api/`))"
- "traefik.http.routers.gm-spike-ereader.entrypoints=websecure"
- "traefik.http.routers.gm-spike-ereader.tls=true"
- "traefik.http.routers.gm-spike-ereader.service=gm-spike"
- "traefik.http.services.gm-spike.loadbalancer.server.port=6060"
grimmory-db:
image: mariadb:11.4
container_name: gm-spike-db
environment:
- MARIADB_ROOT_PASSWORD=${DB_ROOT_PASSWORD}
- MARIADB_DATABASE=grimmory
- MARIADB_USER=grimmory
- MARIADB_PASSWORD=${DB_PASSWORD}
volumes: [gm_spike_db:/var/lib/mysql]
networks: [gm-internal]
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 10s
retries: 10
start_period: 30s
metube:
image: ghcr.io/alexta69/metube:2026.09.29
container_name: mt-spike
volumes: [/root/spike/mt:/downloads]
networks: [traefik-public]
labels:
- "traefik.enable=true"
- "traefik.http.routers.mt-spike.rule=Host(`mt-spike.enkisfelhom.hu`)"
- "traefik.http.routers.mt-spike.entrypoints=websecure"
- "traefik.http.routers.mt-spike.tls=true"
- "traefik.http.routers.mt-spike.middlewares=spike-family-auth@file"
- "traefik.http.services.mt-spike.loadbalancer.server.port=8081"
volumes:
gm_spike_db:
networks:
traefik-public: {external: true}
gm-internal: