Files
EMERGENCY/docker-compose.yml
2026-06-30 18:30:24 +00:00

159 lines
4.2 KiB
YAML

services:
caddy:
image: caddy:2-alpine
container_name: caddy
restart: unless-stopped
ports:
- "${CADDY_HTTP_PORT:-80}:80"
- "${CADDY_HTTPS_PORT:-443}:443"
volumes:
- /opt/hub/caddy/Caddyfile:/etc/caddy/Caddyfile
- /opt/hub/caddy/data:/data
- /opt/hub/caddy/config:/config
- /opt/hub/maps/www:/srv/maps:ro
- /opt/hub/weather/www:/srv/weather:ro
- /opt/hub/garden/www:/srv/garden:ro
- /opt/hub/library/www:/srv/library:ro
networks:
- hub
homepage:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage
restart: unless-stopped
environment:
- HOMEPAGE_ALLOWED_HOSTS=*
volumes:
- /opt/hub/homepage/config:/app/config
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- hub
auth:
image: python:3.12-slim
container_name: auth
restart: unless-stopped
working_dir: /app
environment:
- HUB_PASSWORD=${HUB_PASSWORD:?HUB_PASSWORD not set in .env}
- HUB_SECRET=${HUB_SECRET:?HUB_SECRET not set in .env}
command:
- sh
- -c
- "pip install --quiet fastapi 'uvicorn[standard]' python-multipart && uvicorn app:app --host 0.0.0.0 --port 8000"
volumes:
- /opt/hub/auth/data:/app
- /opt/hub/auth/data/static:/static
networks:
- hub
kiwix:
image: ghcr.io/kiwix/kiwix-serve:latest
container_name: kiwix
restart: unless-stopped
entrypoint: ["sh", "-c"]
command: ["kiwix-serve --port=8080 --urlRootLocation=/library /data/*.zim 2>/dev/null || (echo 'No ZIMs yet - upload via /library/' && tail -f /dev/null)"]
volumes:
- /opt/hub/kiwix/zims:/data
networks:
- hub
pdfs:
image: python:3.12-slim
container_name: pdfs
restart: unless-stopped
working_dir: /app
command:
- sh
- -c
- "pip install --quiet fastapi 'uvicorn[standard]' python-multipart && uvicorn app:app --host 0.0.0.0 --port 8000"
volumes:
- /opt/hub/pdfs/data:/app
- /opt/hub/pdfs/data/static:/static
- /opt/hub/pdfs/files:/files
networks:
- hub
freqs:
image: python:3.12-slim
container_name: freqs
restart: unless-stopped
working_dir: /app
command:
- sh
- -c
- "pip install --quiet fastapi 'uvicorn[standard]' python-multipart && uvicorn app:app --host 0.0.0.0 --port 8000"
volumes:
- /opt/hub/freqs/data:/app
- /opt/hub/freqs/data:/data
- /opt/hub/freqs/data/static:/static
networks:
- hub
inventory:
image: python:3.12-slim
container_name: inventory
restart: unless-stopped
working_dir: /app
command:
- sh
- -c
- "pip install --quiet fastapi 'uvicorn[standard]' python-multipart && uvicorn app:app --host 0.0.0.0 --port 8000"
volumes:
- /opt/hub/inventory/data:/app
- /opt/hub/inventory/data:/data
- /opt/hub/inventory/data/static:/static
networks:
- hub
overlay:
image: python:3.12-slim
container_name: overlay
restart: unless-stopped
working_dir: /app
command:
- sh
- -c
- "pip install --quiet fastapi 'uvicorn[standard]' && uvicorn app:app --host 0.0.0.0 --port 8000"
volumes:
- /opt/hub/overlay/data:/app
- /opt/hub/overlay/data:/data
- /opt/hub/overlay/data/static:/static
networks:
- hub
search:
image: python:3.12-slim
container_name: search
restart: unless-stopped
working_dir: /app
command:
- sh
- -c
- "pip install --quiet fastapi 'uvicorn[standard]' httpx && uvicorn app:app --host 0.0.0.0 --port 8000"
volumes:
- /opt/hub/search/data:/app
- /opt/hub/search/data/static:/static
networks:
- hub
zim-upload:
image: python:3.12-slim
container_name: zim-upload
restart: unless-stopped
working_dir: /app
command:
- sh
- -c
- "pip install --quiet fastapi 'uvicorn[standard]' python-multipart && apt-get update -qq && apt-get install -y -qq curl docker.io && uvicorn app:app --host 0.0.0.0 --port 8000"
volumes:
- /opt/hub/zim-upload/data:/app
- /opt/hub/kiwix/zims:/zims
- /var/run/docker.sock:/var/run/docker.sock
networks:
- hub
networks:
hub:
name: hub