mirror of
https://github.com/netbirdio/netbird.git
synced 2026-04-05 09:04:09 -04:00
[misc] Docker compose improvements (#4037)
* Use container defaults * Remove docker compose version when generating zitadel config
This commit is contained in:
@@ -1,8 +1,16 @@
|
|||||||
|
x-default: &default
|
||||||
|
restart: 'unless-stopped'
|
||||||
|
logging:
|
||||||
|
driver: 'json-file'
|
||||||
|
options:
|
||||||
|
max-size: '500m'
|
||||||
|
max-file: '2'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
# UI dashboard
|
# UI dashboard
|
||||||
dashboard:
|
dashboard:
|
||||||
|
<<: *default
|
||||||
image: netbirdio/dashboard:$NETBIRD_DASHBOARD_TAG
|
image: netbirdio/dashboard:$NETBIRD_DASHBOARD_TAG
|
||||||
restart: unless-stopped
|
|
||||||
ports:
|
ports:
|
||||||
- 80:80
|
- 80:80
|
||||||
- 443:443
|
- 443:443
|
||||||
@@ -27,16 +35,11 @@ services:
|
|||||||
- LETSENCRYPT_EMAIL=$NETBIRD_LETSENCRYPT_EMAIL
|
- LETSENCRYPT_EMAIL=$NETBIRD_LETSENCRYPT_EMAIL
|
||||||
volumes:
|
volumes:
|
||||||
- $LETSENCRYPT_VOLUMENAME:/etc/letsencrypt/
|
- $LETSENCRYPT_VOLUMENAME:/etc/letsencrypt/
|
||||||
logging:
|
|
||||||
driver: "json-file"
|
|
||||||
options:
|
|
||||||
max-size: "500m"
|
|
||||||
max-file: "2"
|
|
||||||
|
|
||||||
# Signal
|
# Signal
|
||||||
signal:
|
signal:
|
||||||
|
<<: *default
|
||||||
image: netbirdio/signal:$NETBIRD_SIGNAL_TAG
|
image: netbirdio/signal:$NETBIRD_SIGNAL_TAG
|
||||||
restart: unless-stopped
|
|
||||||
volumes:
|
volumes:
|
||||||
- $SIGNAL_VOLUMENAME:/var/lib/netbird
|
- $SIGNAL_VOLUMENAME:/var/lib/netbird
|
||||||
ports:
|
ports:
|
||||||
@@ -44,16 +47,11 @@ services:
|
|||||||
# # port and command for Let's Encrypt validation
|
# # port and command for Let's Encrypt validation
|
||||||
# - 443:443
|
# - 443:443
|
||||||
# command: ["--letsencrypt-domain", "$NETBIRD_LETSENCRYPT_DOMAIN", "--log-file", "console"]
|
# command: ["--letsencrypt-domain", "$NETBIRD_LETSENCRYPT_DOMAIN", "--log-file", "console"]
|
||||||
logging:
|
|
||||||
driver: "json-file"
|
|
||||||
options:
|
|
||||||
max-size: "500m"
|
|
||||||
max-file: "2"
|
|
||||||
|
|
||||||
# Relay
|
# Relay
|
||||||
relay:
|
relay:
|
||||||
|
<<: *default
|
||||||
image: netbirdio/relay:$NETBIRD_RELAY_TAG
|
image: netbirdio/relay:$NETBIRD_RELAY_TAG
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
environment:
|
||||||
- NB_LOG_LEVEL=info
|
- NB_LOG_LEVEL=info
|
||||||
- NB_LISTEN_ADDRESS=:$NETBIRD_RELAY_PORT
|
- NB_LISTEN_ADDRESS=:$NETBIRD_RELAY_PORT
|
||||||
@@ -62,16 +60,11 @@ services:
|
|||||||
- NB_AUTH_SECRET=$NETBIRD_RELAY_AUTH_SECRET
|
- NB_AUTH_SECRET=$NETBIRD_RELAY_AUTH_SECRET
|
||||||
ports:
|
ports:
|
||||||
- $NETBIRD_RELAY_PORT:$NETBIRD_RELAY_PORT
|
- $NETBIRD_RELAY_PORT:$NETBIRD_RELAY_PORT
|
||||||
logging:
|
|
||||||
driver: "json-file"
|
|
||||||
options:
|
|
||||||
max-size: "500m"
|
|
||||||
max-file: "2"
|
|
||||||
|
|
||||||
# Management
|
# Management
|
||||||
management:
|
management:
|
||||||
|
<<: *default
|
||||||
image: netbirdio/management:$NETBIRD_MANAGEMENT_TAG
|
image: netbirdio/management:$NETBIRD_MANAGEMENT_TAG
|
||||||
restart: unless-stopped
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- dashboard
|
- dashboard
|
||||||
volumes:
|
volumes:
|
||||||
@@ -90,19 +83,14 @@ services:
|
|||||||
"--single-account-mode-domain=$NETBIRD_MGMT_SINGLE_ACCOUNT_MODE_DOMAIN",
|
"--single-account-mode-domain=$NETBIRD_MGMT_SINGLE_ACCOUNT_MODE_DOMAIN",
|
||||||
"--dns-domain=$NETBIRD_MGMT_DNS_DOMAIN"
|
"--dns-domain=$NETBIRD_MGMT_DNS_DOMAIN"
|
||||||
]
|
]
|
||||||
logging:
|
|
||||||
driver: "json-file"
|
|
||||||
options:
|
|
||||||
max-size: "500m"
|
|
||||||
max-file: "2"
|
|
||||||
environment:
|
environment:
|
||||||
- NETBIRD_STORE_ENGINE_POSTGRES_DSN=$NETBIRD_STORE_ENGINE_POSTGRES_DSN
|
- NETBIRD_STORE_ENGINE_POSTGRES_DSN=$NETBIRD_STORE_ENGINE_POSTGRES_DSN
|
||||||
- NETBIRD_STORE_ENGINE_MYSQL_DSN=$NETBIRD_STORE_ENGINE_MYSQL_DSN
|
- NETBIRD_STORE_ENGINE_MYSQL_DSN=$NETBIRD_STORE_ENGINE_MYSQL_DSN
|
||||||
|
|
||||||
# Coturn
|
# Coturn
|
||||||
coturn:
|
coturn:
|
||||||
|
<<: *default
|
||||||
image: coturn/coturn:$COTURN_TAG
|
image: coturn/coturn:$COTURN_TAG
|
||||||
restart: unless-stopped
|
|
||||||
#domainname: $TURN_DOMAIN # only needed when TLS is enabled
|
#domainname: $TURN_DOMAIN # only needed when TLS is enabled
|
||||||
volumes:
|
volumes:
|
||||||
- ./turnserver.conf:/etc/turnserver.conf:ro
|
- ./turnserver.conf:/etc/turnserver.conf:ro
|
||||||
@@ -111,11 +99,6 @@ services:
|
|||||||
network_mode: host
|
network_mode: host
|
||||||
command:
|
command:
|
||||||
- -c /etc/turnserver.conf
|
- -c /etc/turnserver.conf
|
||||||
logging:
|
|
||||||
driver: "json-file"
|
|
||||||
options:
|
|
||||||
max-size: "500m"
|
|
||||||
max-file: "2"
|
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
$MGMT_VOLUMENAME:
|
$MGMT_VOLUMENAME:
|
||||||
|
|||||||
@@ -1,8 +1,16 @@
|
|||||||
|
x-default: &default
|
||||||
|
restart: 'unless-stopped'
|
||||||
|
logging:
|
||||||
|
driver: 'json-file'
|
||||||
|
options:
|
||||||
|
max-size: '500m'
|
||||||
|
max-file: '2'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
# UI dashboard
|
# UI dashboard
|
||||||
dashboard:
|
dashboard:
|
||||||
|
<<: *default
|
||||||
image: netbirdio/dashboard:$NETBIRD_DASHBOARD_TAG
|
image: netbirdio/dashboard:$NETBIRD_DASHBOARD_TAG
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
environment:
|
||||||
# Endpoints
|
# Endpoints
|
||||||
- NETBIRD_MGMT_API_ENDPOINT=$NETBIRD_MGMT_API_ENDPOINT
|
- NETBIRD_MGMT_API_ENDPOINT=$NETBIRD_MGMT_API_ENDPOINT
|
||||||
@@ -28,16 +36,11 @@ services:
|
|||||||
- traefik.enable=true
|
- traefik.enable=true
|
||||||
- traefik.http.routers.netbird-dashboard.rule=Host(`$NETBIRD_DOMAIN`)
|
- traefik.http.routers.netbird-dashboard.rule=Host(`$NETBIRD_DOMAIN`)
|
||||||
- traefik.http.services.netbird-dashboard.loadbalancer.server.port=80
|
- traefik.http.services.netbird-dashboard.loadbalancer.server.port=80
|
||||||
logging:
|
|
||||||
driver: "json-file"
|
|
||||||
options:
|
|
||||||
max-size: "500m"
|
|
||||||
max-file: "2"
|
|
||||||
|
|
||||||
# Signal
|
# Signal
|
||||||
signal:
|
signal:
|
||||||
|
<<: *default
|
||||||
image: netbirdio/signal:$NETBIRD_SIGNAL_TAG
|
image: netbirdio/signal:$NETBIRD_SIGNAL_TAG
|
||||||
restart: unless-stopped
|
|
||||||
volumes:
|
volumes:
|
||||||
- $SIGNAL_VOLUMENAME:/var/lib/netbird
|
- $SIGNAL_VOLUMENAME:/var/lib/netbird
|
||||||
labels:
|
labels:
|
||||||
@@ -45,27 +48,17 @@ services:
|
|||||||
- traefik.http.routers.netbird-signal.rule=Host(`$NETBIRD_DOMAIN`) && PathPrefix(`/signalexchange.SignalExchange/`)
|
- traefik.http.routers.netbird-signal.rule=Host(`$NETBIRD_DOMAIN`) && PathPrefix(`/signalexchange.SignalExchange/`)
|
||||||
- traefik.http.services.netbird-signal.loadbalancer.server.port=10000
|
- traefik.http.services.netbird-signal.loadbalancer.server.port=10000
|
||||||
- traefik.http.services.netbird-signal.loadbalancer.server.scheme=h2c
|
- traefik.http.services.netbird-signal.loadbalancer.server.scheme=h2c
|
||||||
logging:
|
|
||||||
driver: "json-file"
|
|
||||||
options:
|
|
||||||
max-size: "500m"
|
|
||||||
max-file: "2"
|
|
||||||
|
|
||||||
# Relay
|
# Relay
|
||||||
relay:
|
relay:
|
||||||
|
<<: *default
|
||||||
image: netbirdio/relay:$NETBIRD_RELAY_TAG
|
image: netbirdio/relay:$NETBIRD_RELAY_TAG
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
environment:
|
||||||
- NB_LOG_LEVEL=info
|
- NB_LOG_LEVEL=info
|
||||||
- NB_LISTEN_ADDRESS=:33080
|
- NB_LISTEN_ADDRESS=:33080
|
||||||
- NB_EXPOSED_ADDRESS=$NETBIRD_RELAY_ENDPOINT
|
- NB_EXPOSED_ADDRESS=$NETBIRD_RELAY_ENDPOINT
|
||||||
# todo: change to a secure secret
|
# todo: change to a secure secret
|
||||||
- NB_AUTH_SECRET=$NETBIRD_RELAY_AUTH_SECRET
|
- NB_AUTH_SECRET=$NETBIRD_RELAY_AUTH_SECRET
|
||||||
logging:
|
|
||||||
driver: "json-file"
|
|
||||||
options:
|
|
||||||
max-size: "500m"
|
|
||||||
max-file: "2"
|
|
||||||
labels:
|
labels:
|
||||||
- traefik.enable=true
|
- traefik.enable=true
|
||||||
- traefik.http.routers.netbird-relay.rule=Host(`$NETBIRD_DOMAIN`) && PathPrefix(`/relay`)
|
- traefik.http.routers.netbird-relay.rule=Host(`$NETBIRD_DOMAIN`) && PathPrefix(`/relay`)
|
||||||
@@ -73,8 +66,8 @@ services:
|
|||||||
|
|
||||||
# Management
|
# Management
|
||||||
management:
|
management:
|
||||||
|
<<: *default
|
||||||
image: netbirdio/management:$NETBIRD_MANAGEMENT_TAG
|
image: netbirdio/management:$NETBIRD_MANAGEMENT_TAG
|
||||||
restart: unless-stopped
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- dashboard
|
- dashboard
|
||||||
volumes:
|
volumes:
|
||||||
@@ -99,30 +92,20 @@ services:
|
|||||||
- traefik.http.routers.netbird-management.service=netbird-management
|
- traefik.http.routers.netbird-management.service=netbird-management
|
||||||
- traefik.http.services.netbird-management.loadbalancer.server.port=33073
|
- traefik.http.services.netbird-management.loadbalancer.server.port=33073
|
||||||
- traefik.http.services.netbird-management.loadbalancer.server.scheme=h2c
|
- traefik.http.services.netbird-management.loadbalancer.server.scheme=h2c
|
||||||
logging:
|
|
||||||
driver: "json-file"
|
|
||||||
options:
|
|
||||||
max-size: "500m"
|
|
||||||
max-file: "2"
|
|
||||||
environment:
|
environment:
|
||||||
- NETBIRD_STORE_ENGINE_POSTGRES_DSN=$NETBIRD_STORE_ENGINE_POSTGRES_DSN
|
- NETBIRD_STORE_ENGINE_POSTGRES_DSN=$NETBIRD_STORE_ENGINE_POSTGRES_DSN
|
||||||
- NETBIRD_STORE_ENGINE_MYSQL_DSN=$NETBIRD_STORE_ENGINE_MYSQL_DSN
|
- NETBIRD_STORE_ENGINE_MYSQL_DSN=$NETBIRD_STORE_ENGINE_MYSQL_DSN
|
||||||
|
|
||||||
# Coturn
|
# Coturn
|
||||||
coturn:
|
coturn:
|
||||||
|
<<: *default
|
||||||
image: coturn/coturn:$COTURN_TAG
|
image: coturn/coturn:$COTURN_TAG
|
||||||
restart: unless-stopped
|
|
||||||
domainname: $TURN_DOMAIN
|
domainname: $TURN_DOMAIN
|
||||||
volumes:
|
volumes:
|
||||||
- ./turnserver.conf:/etc/turnserver.conf:ro
|
- ./turnserver.conf:/etc/turnserver.conf:ro
|
||||||
network_mode: host
|
network_mode: host
|
||||||
command:
|
command:
|
||||||
- -c /etc/turnserver.conf
|
- -c /etc/turnserver.conf
|
||||||
logging:
|
|
||||||
driver: "json-file"
|
|
||||||
options:
|
|
||||||
max-size: "500m"
|
|
||||||
max-file: "2"
|
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
$MGMT_VOLUMENAME:
|
$MGMT_VOLUMENAME:
|
||||||
|
|||||||
@@ -780,7 +780,6 @@ EOF
|
|||||||
|
|
||||||
renderDockerCompose() {
|
renderDockerCompose() {
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
version: "3.4"
|
|
||||||
services:
|
services:
|
||||||
# Caddy reverse proxy
|
# Caddy reverse proxy
|
||||||
caddy:
|
caddy:
|
||||||
|
|||||||
Reference in New Issue
Block a user