version: '3.8' services: postgres: image: postgres:16-alpine container_name: radius_postgres restart: always environment: POSTGRES_DB: radius POSTGRES_USER: radius POSTGRES_PASSWORD: radpass ports: - "5432:5432" volumes: - pgdata:/var/lib/postgresql/data - ./sql/init.sql:/docker-entrypoint-initdb.d/init.sql:ro freeradius: image: freeradius/freeradius-server:latest container_name: radius_freeradius restart: always depends_on: - postgres ports: - "1812:1812/udp" - "1813:1813/udp" environment: - DB_NAME=radius - DB_HOST=postgres - DB_USER=radius - DB_PASS=radpass radiuscontroller: build: context: . dockerfile: radiuscontroller/Dockerfile container_name: radius_web_controller restart: always depends_on: - postgres ports: - "8080:8080" environment: - ConnectionStrings__DefaultConnection=Host=postgres;Port=5432;Database=radius;Username=radius;Password=radpass; - ASPNETCORE_ENVIRONMENT=Production volumes: pgdata: