68 lines
2.4 KiB
YAML
68 lines
2.4 KiB
YAML
# documentation: https://wakapi.dev/
|
|
# slogan: A minimalist, self-hosted WakaTime-compatible backend for coding statistics
|
|
# tags: productivity, self-hosted, developer-tools, time-tracker, wakatime, wakatime-api, coding-statistics, statistics, timetracking, analytics
|
|
# logo: svgs/wakapi.svg
|
|
# port: 3000
|
|
|
|
services:
|
|
wakapi:
|
|
image: ghcr.io/muety/wakapi:latest
|
|
environment:
|
|
- SERVICE_FQDN_WAKAPI_3000
|
|
- TZ=${TIMEZONE:-Europe/Berlin}
|
|
|
|
- WAKAPI_SERVER_LISTEN_IPV6="-"
|
|
- WAKAPI_ENV=${WAKAPI_ENVIRONMENT:-production}
|
|
- WAKAPI_SECURITY_PASSWORD_SALT=${SERVICE_BASE64_64_PASSWORDSALT}
|
|
- WAKAPI_SECURITY_EXPOSE_METRICS=${WAKAPI_SECURITY_EXPOSE_METRICS:-false}
|
|
|
|
# Database configuration
|
|
- WAKAPI_DB_TYPE=postgres
|
|
- WAKAPI_DB_NAME=${WAKAPI_DB_NAME:-wakapi}
|
|
- WAKAPI_DB_USER=${SERVICE_USER_DATABASE}
|
|
- WAKAPI_DB_PASSWORD=${SERVICE_PASSWORD_DATABASE}
|
|
- WAKAPI_DB_HOST=${WAKAPI_DB_HOST:-postgres}
|
|
- WAKAPI_DB_PORT=${WAKAPI_DB_PORT:-5432}
|
|
|
|
# SMTP configuration
|
|
- WAKAPI_MAIL_ENABLED=${WAKAPI_MAIL_ENABLED:-false}
|
|
- WAKAPI_MAIL_PROVIDER=smtp #only smtp supported
|
|
- WAKAPI_MAIL_SENDER=${WAKAPI_MAIL_SENDER}
|
|
- WAKAPI_MAIL_SMTP_HOST=${WAKAPI_MAIL_SMTP_HOST}
|
|
- WAKAPI_MAIL_SMTP_PORT=${WAKAPI_MAIL_SMTP_PORT:-587}
|
|
- WAKAPI_MAIL_SMTP_USER=${WAKAPI_MAIL_SMTP_USERNAME}
|
|
- WAKAPI_MAIL_SMTP_PASS=${WAKAPI_MAIL_SMTP_PASSWORD}
|
|
- WAKAPI_MAIL_SMTP_TLS=${WAKAPI_MAIL_SMTP_TLS:-true}
|
|
|
|
# Instance configuration
|
|
- WAKAPI_ALLOW_SIGNUP=${WAKAPI_ALLOW_SIGNUP:-true}
|
|
- WAKAPI_LEADERBOARD_ENABLED=${WAKAPI_LEADERBOARD_ENABLED:-true}
|
|
- WAKAPI_DISABLE_FRONTPAGE=${WAKAPI_DISABLE_FRONTPAGE:-true}
|
|
- WAKAPI_PUBLIC_URL=${WAKAPI_PUBLIC_URL}
|
|
|
|
volumes:
|
|
- wakapi-data:/data
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:3000/"]
|
|
interval: 2s
|
|
timeout: 10s
|
|
retries: 15
|
|
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
volumes:
|
|
- wakapi-postgres-data:/var/lib/postgresql/data
|
|
environment:
|
|
- POSTGRES_USER=${SERVICE_USER_DATABASE}
|
|
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_DATABASE}
|
|
- POSTGRES_DB=${WAKAPI_DB_NAME:-wakapi}
|
|
- POSTGRES_PORT=${WAKAPI_DB_PORT:-5432}
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
|
interval: 5s
|
|
timeout: 20s
|
|
retries: 10
|