mirror of https://github.com/wg-easy/wg-easy
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.9 KiB
1.9 KiB
| title |
|---|
| Caddy |
!!! note "Opinionated"
This guide is opinionated. If you use other conventions or folder layouts, feel free to change the commands and paths.
We're using Caddy here as reverse proxy to serve wg-easy on https://wg-easy.example.com via TLS.
Create a docker composition for caddy
.
├── compose.yml
└── Caddyfile
1 directory, 2 files
# compose.yml
services:
caddy:
container_name: caddy
image: caddy:2.10.0-alpine
# publish everything you deem necessary
ports:
- '80:80/tcp'
- '443:443/tcp'
- '443:443/udp'
networks:
- caddy
restart: unless-stopped
volumes:
- './Caddyfile:/etc/caddy/Caddyfile:ro'
- config:/config
- data:/data
networks:
caddy:
name: caddy
volumes:
config:
data:
# Caddyfile
{
# setup your email address
email [email protected]
}
wg-easy.example.com {
# since the container will share the network with wg-easy
# we can use the proper container name
reverse_proxy wg-easy:80
tls internal
}
...and start it with:
sudo docker compose up -d
Adapt the docker composition of wg-easy
services:
wg-easy:
# sync container name and port according to Caddyfile
container_name: wg-easy
environment:
- PORT=80
# no need to publish the HTTP server anymore
ports:
- "51820:51820/udp"
# add to caddy network
networks:
caddy:
...
networks:
caddy:
external: true
...
...and restart it with:
sudo docker compose up -d
You can now access wg-easy at https://wg-easy.example.com and start the setup.