# docker compose up -d # # Запустить один сервис: # docker compose up -d emqx name: rsiot-dev services: emqx: container_name: rsiot-emqx healthcheck: test: ["CMD", "/opt/emqx/bin/emqx", "ctl", "status"] interval: 5s timeout: 25s retries: 5 hostname: emqx image: emqx:5.6.0 # https://hub.docker.com/_/emqx ports: - 1883:1883 - 8083:8083 - 8084:8084 - 8883:8883 - 18083:18083 volumes: - emqx_volume:/opt/emqx/data timescaledb: container_name: rsiot-timescaledb hostname: timescaledb image: timescale/timescaledb:2.12.2-pg15 command: postgres -c config_file=/etc/postgresql/postgresql.conf -c hba_file=/etc/postgresql/pg_hba.conf environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres ports: - "5432:5432" volumes: - ./rsiot-config-files/timescaledb/postgresql.conf:/etc/postgresql/postgresql.conf - ./rsiot-config-files/timescaledb/pg_hba.conf:/etc/postgresql/pg_hba.conf - ./rsiot-config-files/timescaledb/init.sql:/docker-entrypoint-initdb.d/init.sql # для тестирования http-client httpbin: container_name: rsiot-httpbin hostname: httpbin image: kennethreitz/httpbin ports: - "80:80" # для тестирования websocket websocket-server: container_name: rsiot-websocket-server hostname: websocket-server image: crossbario/autobahn-testsuite ports: - "9001:9001" command: wstest -m broadcastserver -w ws://localhost:9001 # для тестирования modbus-client modbus-server: container_name: rsiot-modbus-server hostname: modbus-server image: oitc/modbus-server ports: - "5020:5020" volumes: - ./modbus_server.json:/app/modbus_server.json # redis redis: container_name: rsiot-redis hostname: redis image: redis/redis-stack:latest ports: - "6379:6379" # порт Redis - "8002:8001" # порт UI volumes: - redis_data:/data - ./rsiot-config-files/redis/redis.conf:/redis-stack.conf # surrealdb surrealdb: command: start --user root --pass root file:/data/database.db container_name: rsiot-surrealdb healthcheck: test: surreal isready --conn http://localhost:8000 interval: 5s timeout: 5s retries: 5 hostname: surrealdb image: surrealdb/surrealdb:latest ports: - "8003:8000" user: root volumes: - surrealdb_data:/data/ influxdb: container_name: rsiot-influxdb hostname: influxdb image: influxdb:2.7.5 ports: - "8086:8086" volumes: - influxdb_data:/var/lib/influxdb2 volumes: emqx_volume: name: emqx_volume influxdb_data: name: influxdb_data redis_data: name: redis_data surrealdb_data: name: surrealdb_data