mirror of
https://github.com/wg-easy/wg-easy.git
synced 2025-10-05 15:47:18 +08:00

* Updated container launch commands * one more occurrence --------- Co-authored-by: Bernd Storath <999999bst@gmail.com>
103 lines
1.9 KiB
Markdown
103 lines
1.9 KiB
Markdown
---
|
|
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](https://caddyserver.com/) here as reserve proxy to serve `wg-easy` on [https://wg-easy.example.com](https://wg-easy.example.com) via TLS.
|
|
|
|
## Create a docker composition for `caddy`
|
|
|
|
```txt
|
|
.
|
|
├── compose.yml
|
|
└── Caddyfile
|
|
|
|
1 directory, 2 files
|
|
```
|
|
|
|
```yaml
|
|
# 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:
|
|
```
|
|
|
|
```txt
|
|
# Caddyfile
|
|
|
|
{
|
|
# setup your email address
|
|
email mail@example.com
|
|
}
|
|
|
|
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:
|
|
|
|
```shell
|
|
sudo docker compose up -d
|
|
```
|
|
|
|
## Adapt the docker composition of `wg-easy`
|
|
|
|
```yaml
|
|
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:
|
|
|
|
```shell
|
|
sudo docker compose up -d
|
|
```
|
|
|
|
You can now access `wg-easy` at [https://wg-easy.example.com](https://wg-easy.example.com) and start the setup.
|