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 environment: - OVP_API_HOST=ovp-api - OVP_API_PORT=5001 - OVP_PROFILER_HOST=ovp-profiler - OVP_PROFILER_PORT=8000 app-gatherer: build: context: ./APP_CORE dockerfile: Dockerfile.gatherer container_name: ovp-gatherer volumes: - ovp_logs:/var/log/openvpn - db_data:/app/db depends_on: - app-profiler environment: - OVPMON_OPENVPN_MONITOR_DB_PATH=/app/db/openvpn_monitor.db - OVPMON_OPENVPN_MONITOR_LOG_PATH=/var/log/openvpn/openvpn-status.log - OVPMON_LOGGING_LEVEL=INFO 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: - OVPMON_API_SECRET_KEY=${JWT_SECRET:-supersecret} - OVPMON_API_PORT=5001 - OVPMON_OPENVPN_MONITOR_DB_PATH=/app/db/openvpn_monitor.db - OVPMON_LOGGING_LEVEL=INFO depends_on: - app-gatherer 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: