forked from kamba4/sunders
69 lines
No EOL
2.5 KiB
YAML
69 lines
No EOL
2.5 KiB
YAML
services:
|
|
db:
|
|
image: mariadb:12.0.2
|
|
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"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
start_period: 30s
|
|
retries: 5
|
|
|
|
web:
|
|
image: git.hamburg.ccc.de/ccchh/sunders/web:latest
|
|
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:
|
|
data_handler:
|
|
condition: service_started
|
|
# all the way zoomed out, with hamburg at the center, at least one camera should be returned
|
|
healthcheck:
|
|
test: >
|
|
["CMD", "curl -s 'http://localhost/camera.php?bbox=-92.52991540527346,30.683278176916133,131.7689595947266,72.87186315234298&zoom=4&width=2552&height=867' | grep '^\[.+\]$'"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
start_period: 30s
|
|
retries: 5
|
|
|
|
data_handler:
|
|
image: git.hamburg.ccc.de/ccchh/sunders/data_handler:latest
|
|
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: |