Files
Logic/Modules/SensorHub/docker-compose.yaml
T
2026-05-11 03:27:21 +03:30

88 lines
2.0 KiB
YAML

# Development: volumes mount source so code updates apply without rebuild
name: sensor-hub
services:
cassandra:
image: docker-mirror.liara.ir/cassandra:5.0
container_name: sensor-hub-cassandra
ports:
- "9042:9042"
volumes:
- sensor_hub_cassandra_data:/var/lib/cassandra
healthcheck:
test: ["CMD-SHELL", "cqlsh -e 'DESCRIBE KEYSPACES' || exit 1"]
interval: 20s
timeout: 10s
retries: 10
db:
image: docker-mirror.liara.ir/mysql:8.0
container_name: sensor-hub-db
environment:
MYSQL_DATABASE: ${DB_NAME:-sensor_hub}
MYSQL_USER: ${DB_USER:-sensor_hub}
MYSQL_PASSWORD: ${DB_PASSWORD:-changeme}
MYSQL_ROOT_PASSWORD: ${DB_PASSWORD:-changeme}
volumes:
- sensor_hub_mysql_data:/var/lib/mysql
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${DB_PASSWORD:-changeme}"]
interval: 5s
timeout: 5s
retries: 5
phpmyadmin:
image: docker-mirror.liara.ir/phpmyadmin:latest
container_name: sensor-hub-phpmyadmin
environment:
PMA_HOST: db
PMA_PORT: 3306
UPLOAD_LIMIT: 64M
ports:
- "8081:80"
depends_on:
db:
condition: service_healthy
web:
build: .
container_name: sensor-hub-web
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/app
ports:
- "8010:8000"
env_file:
- .env
environment:
DB_HOST: db
CASSANDRA_HOSTS: cassandra
depends_on:
db:
condition: service_healthy
cassandra:
condition: service_started
sensor-sender:
build: .
container_name: sensor-hub-sender
command: python manage.py send_sensor_data
volumes:
- .:/app
env_file:
- .env
environment:
DB_HOST: db
CASSANDRA_HOSTS: cassandra
depends_on:
web:
condition: service_started
db:
condition: service_healthy
cassandra:
condition: service_started
volumes:
sensor_hub_mysql_data:
sensor_hub_cassandra_data: