version: "3.9" services: node: build: ./node-api ports: - "3000:3000" environment: - VLAN_ID=2 - MAX_UP=10000000 - MAX_DOWN=10000000 - RADIUS_HOST=freeradius - RADIUS_AUTH_PORT=1812 - RADIUS_SECRET=${RADIUS_SHARED_SECRET:-testing123} - PGHOST=postgres - PGPORT=5432 - PGDATABASE=radius - PGUSER=radius - PGPASSWORD=radius volumes: - ./node-api/index.js:/app/index.js:ro - ./node-api/public:/app/public:ro networks: - radius_net freeradius: image: freeradius/freeradius-server:3.2.2 depends_on: - node - postgres ports: - "1812:1812/udp" - "1813:1813/udp" environment: - RADIUS_CLIENTS_CIDR=${RADIUS_CLIENTS_CIDR:-0.0.0.0/0} - RADIUS_SHARED_SECRET=${RADIUS_SHARED_SECRET:-testing123} volumes: - ./freeradius/mods-available/sql:/etc/freeradius/mods-available/sql:ro - ./freeradius/mods-available/sql:/etc/freeradius/mods-enabled/sql:ro - ./freeradius/mods-available/rest:/etc/freeradius/mods-available/rest:ro - ./freeradius/mods-available/rest:/etc/freeradius/mods-enabled/rest:ro - ./freeradius/mods-enabled/eap:/etc/freeradius/mods-enabled/eap:ro - ./freeradius/sites-enabled/default:/etc/freeradius/sites-enabled/default:ro - ./freeradius/sites-enabled/inner-tunnel:/etc/freeradius/sites-enabled/inner-tunnel:ro - ./freeradius/clients.conf:/etc/freeradius/clients.conf:ro command: ["-X"] networks: - radius_net postgres: image: postgres:16-alpine environment: - POSTGRES_DB=radius - POSTGRES_USER=radius - POSTGRES_PASSWORD=radius volumes: - postgres_data:/var/lib/postgresql/data - ./postgres/init:/docker-entrypoint-initdb.d:ro ports: - "5432:5432" networks: - radius_net networks: radius_net: driver: bridge volumes: postgres_data: