sunders/docker-compose.yml
ViMaSter c2a8412c4b
Some checks failed
images.yml / fix: Adds missing documentation hint for secret replacement (push) Failing after 0s
images.yml / fix: Adds missing documentation hint for secret replacement (pull_request) Failing after 0s
fix: Adds missing documentation hint for secret replacement
2025-11-01 21:49:46 +01:00

70 lines
No EOL
2.4 KiB
YAML

services:
db:
image: mariadb:12.0.2
restart: unless-stopped
command: --max_allowed_packet=3250585600
environment:
MYSQL_ROOT_PASSWORD: rootpassword # ${{secrets.MYSQL_ROOT_PASSWORD}}
MYSQL_DATABASE: camera # ${{secrets.MYSQL_DATABASE}}
MYSQL_USER: camera # ${{secrets.MYSQL_USER}}
MYSQL_PASSWORD: camerapassword # ${{secrets.MYSQL_PASSWORD}}
volumes:
- mariadb:/var/lib/mysql
healthcheck:
test: ["CMD", "mariadb-admin", "ping", "-h", "localhost", "-uroot", "-prootpassword"] # ${{secrets.MYSQL_ROOT_PASSWORD}}
interval: 10s
timeout: 5s
start_period: 30s
retries: 5
web:
image: git.hamburg.ccc.de/ccchh/sunders/web:latest
restart: unless-stopped
environment:
MYSQL_HOST: db
MYSQL_DB: camera # ${{secrets.MYSQL_DATABASE}}
CAMERA_SELECT_USER: camera_select # ${{secrets.CAMERA_SELECT_USER}}
CAMERA_SELECT_USER_PASSWORD: camera_selectpassword # ${{secrets.CAMERA_SELECT_USER_PASSWORD}}
DEFAULT_ZOOM: 12
DEFAULT_LAT: 0
DEFAULT_LON: 0
DEFAULT_LANGUAGE: en
IMPRESSUM_URL: https://hamburg.ccc.de/imprint/
ports:
- "8081:80"
depends_on:
db:
condition: service_started
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost/sync-state.php"]
interval: 10s
timeout: 5s
start_period: 30s
retries: 5
data_handler:
image: git.hamburg.ccc.de/ccchh/sunders/data_handler:latest
restart: unless-stopped
environment:
MYSQL_HOST: db
MYSQL_DB: camera # ${{secrets.MYSQL_DATABASE}}
MYSQL_USER: root # ${{secrets.MYSQL_USER}}
MYSQL_PASSWORD: rootpassword # ${{secrets.MYSQL_ROOT_PASSWORD}}
CAMERA_USER: camera # ${{secrets.CAMERA_USER}}
CAMERA_USER_PASSWORD: camerapassword # ${{secrets.CAMERA_USER_PASSWORD}}
CAMERA_SELECT_USER: camera_select # ${{secrets.CAMERA_SELECT_USER}}
CAMERA_SELECT_USER_PASSWORD: camera_selectpassword # ${{secrets.CAMERA_SELECT_USER_PASSWORD}}
depends_on:
db:
condition: service_healthy
restart: true
# if the latest `update_camera_*.log` contains "error", fail the healthcheck
healthcheck:
test: ["CMD", "sh", "-c", "ls /var/log | grep '^update_camera_' | xargs -I {} sh -c 'grep -q error /var/log/{} || exit 0; exit 1'"]
interval: 10s
timeout: 5s
start_period: 30s
retries: 5
volumes:
mariadb: