oktopus/deploy/compose/docker-compose.yaml
Sergio Panseri 402b48bf5c Open 8081 port in the WS container
Since the container by default support TLS on port 8081, the docker compose yaml file should
make that port open by default.
2025-11-03 11:13:39 +01:00

244 lines
5.7 KiB
YAML

services:
#/* ----------------------------- Message Broker ----------------------------- */
msg_broker:
image: "nats:latest"
container_name: nats
ports:
- 4222:4222
- 8222:8222
command: -c /tmp/nats/config/nats.cfg
env_file:
- .env.nats
volumes:
- ./nats_data:/tmp/nats/jetstream
- ./nats_config:/tmp/nats/config
networks:
usp_network:
ipv4_address: 172.16.235.2
profiles: [nats]
#/* -------------------------------------------------------------------------- */
#/* ------------------------ API REST / USP Controller ----------------------- */
controller:
image: "oktopusp/controller"
container_name: controller
ports:
- 8000:8000
depends_on:
- mongo_usp
env_file:
- .env.controller
volumes:
- ./nats_config:/tmp/nats/config
networks:
usp_network:
ipv4_address: 172.16.235.3
profiles: [controller]
#/* -------------------------------------------------------------------------- */
#/* ---------------------------- Databases / Cache --------------------------- */
mongo_usp:
image: mongo
container_name: mongo_usp
ports:
- 27017:27017
networks:
usp_network:
ipv4_address: 172.16.235.4
volumes:
- ./mongo_data:/data/db
profiles: [controller, adapter]
#/* -------------------------------------------------------------------------- */
#/* ----------------------- Message Transfer Protocols ----------------------- */
mqtt:
image: "oktopusp/mqtt"
container_name: mqtt
ports:
- 1883:1883
- 8883:8883
env_file:
- .env.mqtt
volumes:
- ./nats_config:/tmp/nats/config
networks:
usp_network:
ipv4_address: 172.16.235.6
profiles: [mqtt]
ws:
image: "oktopusp/ws"
container_name: websockets
ports:
- 8080:8080
- 8081:8081
env_file:
- .env.ws
volumes:
- ./nats_config:/tmp/nats/config
networks:
usp_network:
ipv4_address: 172.16.235.7
profiles: [ws]
stomp:
image: "oktopusp/stomp"
container_name: stomp
ports:
- 61613:61613
networks:
usp_network:
ipv4_address: 172.16.235.8
profiles: [stomp]
#/* -------------------------------------------------------------------------- */
#/* --------------- Message transfer Protocols Adapters to NATS -------------- */
mqtt-adapter:
image: "oktopusp/mqtt-adapter"
container_name: mqtt-adapter
depends_on:
- mqtt
env_file:
- .env.mqtt-adapter
volumes:
- ./nats_config:/tmp/nats/config
networks:
usp_network:
ipv4_address: 172.16.235.9
profiles: [mqtt]
ws-adapter:
image: "oktopusp/ws-adapter"
container_name: ws-adapter
depends_on:
- ws
env_file:
- .env.ws-adapter
volumes:
- ./nats_config:/tmp/nats/config
networks:
usp_network:
ipv4_address: 172.16.235.10
profiles: [ws]
stomp-adapter:
image: "oktopusp/stomp-adapter"
container_name: stomp-adapter
depends_on:
- stomp
env_file:
- .env.stomp-adapter
volumes:
- ./nats_config:/tmp/nats/config
networks:
usp_network:
ipv4_address: 172.16.235.11
profiles: [stomp]
adapter:
image: "oktopusp/adapter"
container_name: adapter
depends_on:
- mongo_usp
env_file:
- .env.adapter
volumes:
- ./nats_config:/tmp/nats/config
networks:
usp_network:
ipv4_address: 172.16.235.12
profiles: [adapter]
#/* -------------------------------------------------------------------------- */
#/* ------------- SocketIO Real Time Communication With Frontend ------------- */
socketio:
image: "oktopusp/socketio"
container_name: socketio
ports:
- 5000:5000
env_file:
- .env.socketio
volumes:
- ./nats_config:/tmp/nats/config
networks:
usp_network:
ipv4_address: 172.16.235.13
profiles: [frontend]
#/* -------------------------------------------------------------------------- */
#/* -------------------------------- Frontend -------------------------------- */
frontend:
image: "oktopusp/frontend"
container_name: frontend
ports:
- 3000:3000
networks:
usp_network:
ipv4_address: 172.16.235.14
profiles: [frontend]
#/* -------------------------------------------------------------------------- */
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
ports:
- 9443:9443
networks:
usp_network:
ipv4_address: 172.16.235.15
profiles: [portainer]
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./portainer_data:/data
acs:
image: "oktopusp/acs"
container_name: acs
ports:
- 9292:9292
env_file:
- .env.acs
volumes:
- ./nats_config:/tmp/nats/config
networks:
usp_network:
ipv4_address: 172.16.235.16
profiles: [cwmp]
nginx:
image: nginx:latest
container_name: nginx
ports:
- 80:80
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf
extra_hosts:
- "host.docker.internal:host-gateway"
networks:
usp_network:
ipv4_address: 172.16.235.17
file-server:
image: oktopusp/file-server
container_name: file-server
ports:
- 8004:8004
volumes:
- ./firmwares:/app/firmwares
- ./images:/app/images
env_file:
- .env.file-server
networks:
usp_network:
ipv4_address: 172.16.235.18
networks:
usp_network:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.16.235.0/24
gateway: 172.16.235.1