43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
| version: "3"
 | |
| 
 | |
| services:
 | |
|   wireguard:
 | |
|     image: linuxserver/wireguard:latest
 | |
|     container_name: wireguard
 | |
|     cap_add:
 | |
|       - NET_ADMIN
 | |
|     volumes:
 | |
|       - ./config:/config
 | |
|     ports:
 | |
|       # port for wireguard-ui. this must be set here as the `wireguard-ui` container joins the network of this container and hasn't its own network over which it could publish the ports
 | |
|       - "5000:5000"
 | |
|       # port of the wireguard server
 | |
|       - "51820:51820/udp"
 | |
| 
 | |
|   wireguard-ui:
 | |
|     image: ngoduykhanh/wireguard-ui:latest
 | |
|     container_name: wireguard-ui
 | |
|     depends_on:
 | |
|       - wireguard
 | |
|     cap_add:
 | |
|       - NET_ADMIN
 | |
|     # use the network of the 'wireguard' service. this enables to show active clients in the status page
 | |
|     network_mode: service:wireguard
 | |
|     environment:
 | |
|       - SENDGRID_API_KEY
 | |
|       - EMAIL_FROM_ADDRESS
 | |
|       - EMAIL_FROM_NAME
 | |
|       - SESSION_SECRET
 | |
|       - WGUI_USERNAME=admin
 | |
|       - WGUI_PASSWORD=admin
 | |
|       - WG_CONF_TEMPLATE
 | |
|       - WGUI_MANAGE_START=true
 | |
|       - WGUI_MANAGE_RESTART=true
 | |
|     logging:
 | |
|       driver: json-file
 | |
|       options:
 | |
|         max-size: 50m
 | |
|     volumes:
 | |
|       - ./db:/app/db
 | |
|       - ./config:/etc/wireguard
 |