Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- x-default: &default
- restart: 'unless-stopped'
- logging:
- driver: 'json-file'
- options:
- max-size: '500m'
- max-file: '2'
- services:
- # UI dashboard
- dashboard:
- <<: *default
- image: netbirdio/dashboard:latest
- ports:
- - 80:80
- - 443:443
- environment:
- # Endpoints
- - NETBIRD_MGMT_API_ENDPOINT=https://subdomain.company.com:33073
- - NETBIRD_MGMT_GRPC_API_ENDPOINT=https://subdomain.company.com:33073
- # OIDC
- - AUTH_AUDIENCE=xyz.apps.googleusercontent.com
- - AUTH_CLIENT_ID=xyz.apps.googleusercontent.com
- - AUTH_CLIENT_SECRET=xyz
- - AUTH_AUTHORITY=https://accounts.google.com
- - USE_AUTH0=false
- - AUTH_SUPPORTED_SCOPES=openid profile email
- - AUTH_REDIRECT_URI=/auth
- - AUTH_SILENT_REDIRECT_URI=/silent-auth
- - NETBIRD_TOKEN_SOURCE=idToken
- # SSL
- - NGINX_SSL_PORT=443
- # Letsencrypt
- - LETSENCRYPT_DOMAIN=subdomain.company.com
- volumes:
- - netbird-letsencrypt:/etc/letsencrypt/
- # Signal
- signal:
- <<: *default
- image: netbirdio/signal:latest
- depends_on:
- - dashboard
- volumes:
- - netbird-signal:/var/lib/netbird
- - netbird-letsencrypt:/etc/letsencrypt:ro
- ports:
- - 10000:80
- # # port and command for Let's Encrypt validation
- # - 443:443
- # command: ["--letsencrypt-domain", "subdomain.company.com", "--log-file", "console"]
- command: [
- "--cert-file", "/etc/letsencrypt/live/subdomain.company.com/fullchain.pem",
- "--cert-key", "/etc/letsencrypt/live/subdomain.company.com/privkey.pem",
- "--log-file", "console"
- ]
- # Relay
- relay:
- <<: *default
- image: netbirdio/relay:latest
- environment:
- - NB_LOG_LEVEL=info
- - NB_LISTEN_ADDRESS=:33080
- - NB_EXPOSED_ADDRESS=rel://subdomain.company.com:33080
- # todo: change to a secure secret
- - NB_AUTH_SECRET=key
- ports:
- - 33080:33080
- # Management
- management:
- <<: *default
- image: netbirdio/management:latest
- depends_on:
- - dashboard
- volumes:
- - netbird-mgmt:/var/lib/netbird
- - netbird-letsencrypt:/etc/letsencrypt:ro
- - ./management.json:/etc/netbird/management.json
- ports:
- - 33073:443 #API port
- # # command for Let's Encrypt validation without dashboard container
- # command: ["--letsencrypt-domain", "subdomain.company.com", "--log-file", "console"]
- command: [
- "--port", "443",
- "--log-file", "console",
- "--log-level", "info",
- "--disable-anonymous-metrics=true",
- "--single-account-mode-domain=subdomain.company.com",
- "--dns-domain=securin.internal"
- ]
- environment:
- - NETBIRD_STORE_ENGINE_POSTGRES_DSN=
- - NETBIRD_STORE_ENGINE_MYSQL_DSN=
- # Coturn
- coturn:
- <<: *default
- image: coturn/coturn:latest
- #domainname: subdomain.company.com # only needed when TLS is enabled
- volumes:
- - ./turnserver.conf:/etc/turnserver.conf:ro
- # - ./privkey.pem:/etc/coturn/private/privkey.pem:ro
- # - ./cert.pem:/etc/coturn/certs/cert.pem:ro
- network_mode: host
- command:
- - -c /etc/turnserver.conf
- volumes:
- netbird-mgmt:
- netbird-signal:
- netbird-letsencrypt:
Advertisement