b50289074d
gates / gates (push) Successful in 28s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
76 lines
2.9 KiB
YAML
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:
|