Switch Caddy to hardened non-root image
This commit is contained in:
1 parent
887668dde9
commit
3de3c867b9
4 files changed
+24
-9
No files matched your search
@@ -3,7 +3,7 @@
|
||||
"workspaceMount": "source=${localWorkspaceFolder},target=/workspace,type=bind,Z",
|
||||
"remoteUser": "dev",
|
||||
"mounts": [
|
||||
"source=${localEnv:HOME}/.ssh,target=/root/.ssh,type=bind,readonly"
|
||||
"source=${localEnv:HOME}/.ssh,target=/home/dev/.ssh,type=bind,readonly"
|
||||
],
|
||||
"build": {
|
||||
"dockerfile": "Dockerfile",
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{
|
||||
http_port 8080
|
||||
https_port 8443
|
||||
servers {
|
||||
metrics
|
||||
}
|
||||
@@ -8,27 +10,37 @@
|
||||
admin :2019
|
||||
}
|
||||
|
||||
# Fix pour le http3
|
||||
(alt_svc) {
|
||||
header Alt-Svc `h3=":443"; ma=2592000`
|
||||
}
|
||||
|
||||
qpismont.fr {
|
||||
redir https://www.qpismont.fr
|
||||
redir https://www.qpismont.fr
|
||||
}
|
||||
|
||||
www.qpismont.fr {
|
||||
import alt_svc
|
||||
root * /www/html
|
||||
file_server
|
||||
}
|
||||
|
||||
gitea.qpismont.fr {
|
||||
import alt_svc
|
||||
reverse_proxy gitea:3000
|
||||
}
|
||||
|
||||
git.qpismont.fr {
|
||||
import alt_svc
|
||||
reverse_proxy gitea:3000
|
||||
}
|
||||
|
||||
woodpecker.qpismont.fr {
|
||||
import alt_svc
|
||||
reverse_proxy woodpecker_server:8000
|
||||
}
|
||||
|
||||
ntfy.qpismont.fr {
|
||||
import alt_svc
|
||||
reverse_proxy ntfy:80
|
||||
}
|
||||
}
|
||||
@@ -28,7 +28,7 @@ Cette infrastructure héberge l'ensemble des services nécessaires pour le déve
|
||||
|
||||
| Service | Image | Description | Exposition |
|
||||
|---------|-------|-------------|------------|
|
||||
| **reverse_caddy** | `caddy:2.11-alpine` | Reverse proxy, HTTPS auto, HTTP/3 | `80`, `443/tcp`, `443/udp` |
|
||||
| **reverse_caddy** | `dhi.io/caddy:2.11` | Reverse proxy, HTTPS auto, HTTP/3 (non-root, ports internes 8080/8443) | `80→8080`, `443→8443/tcp`, `443→8443/udp` |
|
||||
| **wireguard_server** | `linuxserver/wireguard:latest` | VPN d'accès distant + CoreDNS | `51820/udp` |
|
||||
|
||||
### Stack `git`
|
||||
@@ -156,7 +156,7 @@ Cette infrastructure héberge l'ensemble des services nécessaires pour le déve
|
||||
- **VPN** : WireGuard pour services internes
|
||||
|
||||
### Storage
|
||||
- **Volumes Docker** : `reversecaddydata`, `reversecaddyconfig` (core) · `giteadata`, `woodpeckerdata` (git) · `prometheusdata`, `tempodata`, `persesdata`, `alertmanagerdata`, `ntfydata` (observability)
|
||||
- **Volumes Docker** : `reversecaddydata`, `reversecaddyconfig` (core, propriété UID 65532) · `giteadata`, `woodpeckerdata` (git) · `prometheusdata`, `tempodata`, `persesdata`, `alertmanagerdata`, `ntfydata` (observability)
|
||||
- **Host mounts** : `/home/user/wireguard-config`, `/lib/modules` (WireGuard) · `/var/run/docker.sock` (Woodpecker agent, Herald, `docker-proxy-otel`) · `/` en lecture seule (OTel Collector)
|
||||
|
||||
### Monitoring
|
||||
@@ -203,6 +203,9 @@ Cette infrastructure héberge l'ensemble des services nécessaires pour le déve
|
||||
- Renouvellement automatique des certificats
|
||||
- Métriques Prometheus exposées
|
||||
- Configuration simple (Caddyfile)
|
||||
- Image hardened `dhi.io/caddy:2.11` : non-root (UID 65532), sans shell
|
||||
- Écoute interne sur `8080`/`8443`, mappée depuis `80`/`443` (ports privilégiés)
|
||||
- `Alt-Svc` forcé sur `:443` pour conserver HTTP/3 vu de l'extérieur
|
||||
|
||||
### WireGuard
|
||||
- VPN moderne et rapide
|
||||
|
||||
@@ -2,11 +2,11 @@ version: "3"
|
||||
|
||||
services:
|
||||
reverse_caddy:
|
||||
image: caddy:2.11-alpine
|
||||
image: dhi.io/caddy:2.11
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
- "443:443/udp"
|
||||
- "80:8080"
|
||||
- "443:8443"
|
||||
- "443:8443/udp"
|
||||
configs:
|
||||
- source: caddy_config
|
||||
target: /etc/caddy/Caddyfile
|
||||
|
||||
Reference in new issue
Block a user