159 lines
4.2 KiB
YAML
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
|