diff --git a/example-docker-compose.yml b/example-docker-compose.yml new file mode 100644 index 0000000..4942b56 --- /dev/null +++ b/example-docker-compose.yml @@ -0,0 +1,52 @@ +version: '3.8' + +services: + netbird-client: + # Use the official NetBird Docker image + image: netbirdio/netbird:latest + + # Set the container name + container_name: netbird-client + + # Use host network mode for proper network interface management by NetBird + network_mode: host + + # Grant necessary capabilities for NetBird to manage network devices and routes + cap_add: + - NET_ADMIN + - SYS_ADMIN + # SYS_RESOURCE might be needed on some kernels, include it for broader compatibility + - SYS_RESOURCE + #- NET_ADMIN + - NET_RAW # Allow creating raw sockets + - SYS_MODULE + #- SYS_ADMIN # Additional administrative privileges + # Provide access to the /dev/net/tun device + devices: + - /dev/net/tun:/dev/net/tun + + # Mount a volume to persist the NetBird configuration and identity + volumes: + - netbird_config:/etc/netbird + + # Restart the container automatically + restart: unless-stopped + + # Set environment variables for the NetBird client + environment: + # Replace with your actual NetBird setup key + # You can generate this key in your NetBird Management Panel + - NB_SETUP_KEY=INSERT_KEY + # Optional: Set a hostname for the peer in the NetBird network + - NB_HOSTNAME=INSERT_HOSTNAME + # Optional: Set log level (trace, debug, info, warn, error) + - NB_LOG_LEVEL=info + - NB_MANAGEMENT_URL=https://netbird.rozic-dev.com #cusom dns-> website or delete it for original netbird + # Command to run the NetBird service + # Using 'netbird service run' is recommended for Docker + command: netbird service run # --allow-server-ssh --enable-ssh-root + +volumes: + # Define the volume for persisting NetBird data + netbird_config: + driver: local