version: '3.8' services: app-ui: build: ./APP_UI container_name: ovp-ui ports: - "80:80" depends_on: - app-api - app-profiler networks: - ovp-net app-gatherer: build: context: ./APP_CORE dockerfile: Dockerfile.gatherer container_name: ovp-gatherer volumes: - ovp_logs:/var/log/openvpn - db_data:/app/db # Assuming APP_CORE looks for DB in /app/db depends_on: - app-profiler networks: - ovp-net app-api: build: context: ./APP_CORE dockerfile: Dockerfile.api container_name: ovp-api ports: - "5001:5001" volumes: - db_data:/app/db networks: - ovp-net environment: - JWT_SECRET=${JWT_SECRET:-supersecret} app-profiler: build: ./APP_PROFILER container_name: ovp-profiler cap_add: - NET_ADMIN devices: - "/dev/net/tun:/dev/net/tun" ports: - "8000:8000" - "1194:1194/udp" volumes: - ovp_logs:/var/log/openvpn - ovp_config:/etc/openvpn networks: - ovp-net environment: - JWT_SECRET=${JWT_SECRET:-supersecret} networks: ovp-net: driver: bridge volumes: ovp_logs: ovp_config: db_data: