Initial Commit

This commit is contained in:
2026-06-01 21:02:36 +01:00
commit 4224a535ef
20 changed files with 1512 additions and 0 deletions
+48
View File
@@ -0,0 +1,48 @@
services:
db:
image: mysql:8.4
environment:
MYSQL_DATABASE: ${MYSQL_DATABASE:-switchbot}
MYSQL_USER: ${MYSQL_USER:-switchbot}
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-switchbot_password}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root_password}
volumes:
- mysql_data:/var/lib/mysql
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 10
web:
build: .
command: ["gunicorn", "--bind", "0.0.0.0:8000", "app.web:app"]
environment:
DATABASE_URL: ${DATABASE_URL:-mysql+pymysql://${MYSQL_USER:-switchbot}:${MYSQL_PASSWORD:-switchbot_password}@db:3306/${MYSQL_DATABASE:-switchbot}}
SWITCHBOT_TOKEN: ${SWITCHBOT_TOKEN:-}
SWITCHBOT_SECRET: ${SWITCHBOT_SECRET:-}
COLLECT_INTERVAL_SECONDS: ${COLLECT_INTERVAL_SECONDS:-900}
APP_TIMEZONE: ${APP_TIMEZONE:-Europe/London}
FLASK_SECRET_KEY: ${FLASK_SECRET_KEY:-dev-only-secret}
ports:
- "8000:8000"
depends_on:
db:
condition: service_healthy
collector:
build: .
command: ["python", "-m", "app.collector"]
environment:
DATABASE_URL: ${DATABASE_URL:-mysql+pymysql://${MYSQL_USER:-switchbot}:${MYSQL_PASSWORD:-switchbot_password}@db:3306/${MYSQL_DATABASE:-switchbot}}
SWITCHBOT_TOKEN: ${SWITCHBOT_TOKEN:-}
SWITCHBOT_SECRET: ${SWITCHBOT_SECRET:-}
COLLECT_INTERVAL_SECONDS: ${COLLECT_INTERVAL_SECONDS:-900}
APP_TIMEZONE: ${APP_TIMEZONE:-Europe/London}
depends_on:
db:
condition: service_healthy
restart: unless-stopped
volumes:
mysql_data: