41 lines
1.5 KiB
YAML
41 lines
1.5 KiB
YAML
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: ${APP_CONTAINER_NAME:-linklog-app}
|
|
ports:
|
|
- "${APP_PORT:-8000}:8000"
|
|
volumes:
|
|
- linklog_data:/app/backend/data
|
|
environment:
|
|
APP_ENV: ${APP_ENV:-production}
|
|
LINKLOG_APP_NAME: ${LINKLOG_APP_NAME:-LinkLog}
|
|
LINKLOG_DATABASE_PATH: ${LINKLOG_DATABASE_PATH:-/app/backend/data/linklog.db}
|
|
LINKLOG_SECRET_KEY: ${LINKLOG_SECRET_KEY:?Set LINKLOG_SECRET_KEY in .env}
|
|
LINKLOG_TOKEN_EXPIRY_DAYS: ${LINKLOG_TOKEN_EXPIRY_DAYS:-30}
|
|
LINKLOG_TRACKING_PARAMS: ${LINKLOG_TRACKING_PARAMS:-}
|
|
restart: ${APP_RESTART_POLICY:-unless-stopped}
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.linklog.rule=Host(`${TRAEFIK_HOST:-localhost}`)"
|
|
- "traefik.http.routers.linklog.entrypoints=web"
|
|
- "traefik.http.services.linklog.loadbalancer.server.port=8000"
|
|
|
|
traefik:
|
|
image: ${TRAEFIK_IMAGE:-traefik:v3.1}
|
|
container_name: ${TRAEFIK_CONTAINER_NAME:-linklog-traefik}
|
|
command:
|
|
- --providers.docker=true
|
|
- --entrypoints.web.address=:${TRAEFIK_HTTP_INTERNAL_PORT:-80}
|
|
- --api.insecure=${TRAEFIK_API_INSECURE:-true}
|
|
ports:
|
|
- "${TRAEFIK_HTTP_PORT:-80}:${TRAEFIK_HTTP_INTERNAL_PORT:-80}"
|
|
- "${TRAEFIK_DASHBOARD_PORT:-8080}:8080"
|
|
restart: ${TRAEFIK_RESTART_POLICY:-unless-stopped}
|
|
volumes:
|
|
- "${DOCKER_SOCKET_PATH:-/var/run/docker.sock}:/var/run/docker.sock:ro"
|
|
|
|
volumes:
|
|
linklog_data:
|