Files
SE-LTD/docker-compose.yml
T
jhartworks 19d27f9de9 Add update script, enhance admin features, and improve styles
- Created a PowerShell script (update.ps1) for automating the process of pulling the latest repository changes, stopping, building, and starting the Docker Compose stack.
- Updated App.jsx to include new admin sections for alarms and integrations, added state management for runner jobs, and enhanced permission checks.
- Extended the API module (api.js) with new endpoints for managing integrations and runner jobs.
- Improved CSS styles for a more compact and responsive layout in the admin interface, focusing on source and datapoint cards.
2026-07-09 15:24:58 +02:00

180 lines
4.3 KiB
YAML

services:
mariadb:
image: mariadb:11.4
container_name: seltd-mariadb
restart: unless-stopped
environment:
MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD:-SE3112}
MARIADB_ROOT_HOST: mariadb
MARIADB_DATABASE: wago
MARIADB_USER: wago
MARIADB_PASSWORD: ${MARIADB_PASSWORD:-3112}
ports:
- "3306:3306"
volumes:
- mariadb_data:/var/lib/mysql
- ./docker/mariadb/init:/docker-entrypoint-initdb.d:ro
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 15s
timeout: 10s
retries: 10
redis:
image: redis:7.4-alpine
container_name: seltd-redis
restart: unless-stopped
command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
ports:
- "6379:6379"
volumes:
- redis_data:/data
- ./docker/redis/redis.conf:/usr/local/etc/redis/redis.conf:ro
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 10
api:
build:
context: ./api
container_name: seltd-api
restart: unless-stopped
environment:
PORT: 8080
DB_HOST: mariadb
DB_PORT: 3306
DB_NAME: wago
DB_USER: root
DB_PASSWORD: ${MARIADB_ROOT_PASSWORD:-SE3112}
DB_PASSWORD_FALLBACK: ${DB_PASSWORD_FALLBACK:-root}
REDIS_URL: redis://redis:6379
JWT_SECRET: ${JWT_SECRET:-change-me}
ADMIN_USERNAME: ${ADMIN_USERNAME:-admin}
ADMIN_EMAIL: ${ADMIN_EMAIL:-admin@example.com}
ADMIN_PASSWORD: ${ADMIN_PASSWORD:-ChangeMe123!}
ADMIN_NAME: ${ADMIN_NAME:-System Admin}
CORS_ORIGIN: ${CORS_ORIGIN:-*}
ports:
- "18080:8080"
depends_on:
mariadb:
condition: service_healthy
redis:
condition: service_healthy
web:
build:
context: ./web
container_name: seltd-web
restart: unless-stopped
environment:
VITE_API_PORT: ${VITE_API_PORT:-18080}
ports:
- "5173:5173"
depends_on:
- api
collector:
build:
context: ./collector
container_name: seltd-collector
restart: unless-stopped
environment:
PORT: 18110
DB_HOST: mariadb
DB_PORT: 3306
DB_NAME: wago
DB_USER: root
DB_PASSWORD: ${MARIADB_ROOT_PASSWORD:-SE3112}
POLL_TICK_MS: ${POLL_TICK_MS:-1000}
BACNET_COLLECTOR_URL: ${BACNET_COLLECTOR_URL:-http://172.17.0.1:18111}
ports:
- "18110:18110"
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- collector_data:/app/data
depends_on:
mariadb:
condition: service_healthy
bacnet-collector:
condition: service_started
bacnet-collector:
build:
context: ./bacnet-collector
container_name: seltd-bacnet-collector
restart: unless-stopped
environment:
PORT: 18111
BACNET_SCAN_TIMEOUT: ${BACNET_SCAN_TIMEOUT:-12000}
BACNET_POINT_LIMIT: ${BACNET_POINT_LIMIT:-2000}
BACNET_BROADCAST_FALLBACKS: ${BACNET_BROADCAST_FALLBACKS:-}
BACNET_UNICAST_DELAY_MS: ${BACNET_UNICAST_DELAY_MS:-120}
network_mode: "host"
runner:
build:
context: ./runner
container_name: seltd-runner
restart: unless-stopped
environment:
REDIS_URL: redis://redis:6379
DB_HOST: mariadb
DB_PORT: 3306
DB_NAME: wago
DB_USER: root
DB_PASSWORD: ${MARIADB_ROOT_PASSWORD:-SE3112}
EXPORT_DIR: /exports
RUNNER_TICK_MS: ${RUNNER_TICK_MS:-30000}
volumes:
- runner_exports:/exports
depends_on:
mariadb:
condition: service_healthy
redis:
condition: service_healthy
dockhand:
image: fnsys/dockhand:latest
container_name: seltd-dockhand
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- dockhand_data:/app/data
cadvisor:
image: ghcr.io/google/cadvisor:v0.60.2
container_name: seltd-cadvisor
restart: unless-stopped
privileged: true
ports:
- "9090:8080"
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
- /dev/disk/:/dev/disk:ro
devices:
- /dev/kmsg:/dev/kmsg
volumes:
mariadb_data:
redis_data:
collector_data:
runner_exports:
dockhand_data: