3 KiB
3 KiB
| title | draft | date |
|---|---|---|
| Déployer un serveur Codeberg Pages | true | 2025-03-26 |
Déployer le service
Voici un exemple de docker-compose.yml.
La documentation des variables d'environnement : https://codeberg.org/Codeberg/pages-server#environment-variables
Pour le provider DNS, il faut adapter la variable DNS_PROVIDER à votre fournisseur de nom de domaine.
Voir cette section de la documentation
services:
pages-server:
image: codeberg.org/codeberg/pages-server:next
container_name: pages-server
restart: unless-stopped
environment:
- ACME_ACCEPT_TERMS=true
- ACME_EMAIL=email@email.com
- HOST=0.0.0.0
# To adapt to your provider see https://go-acme.github.io/lego/dns/
- DNS_PROVIDER=gandiv5
- GANDIV5_PERSONAL_ACCESS_TOKEN=${GANDIV5_PERSONAL_ACCESS_TOKEN}
# End of provider specific variables
- FORGE_ROOT=https://git.example.com
- PAGES_DOMAIN=pages.example.com
- RAW_DOMAIN=raw.pages.example.com
- USE_PROXY_PROTOCOL=true
IMPORTANT : Pour les URL et les sous-domaines, il ne faut surtout pas mettre de " (guillemets) autour, car le parsing ne se fera pas correctement et fera planter le serveur.
Adapter la configuration notamment des réseaux docker si besoin pour votre reverse proxy.
Configuration du reverse proxy (SWAG)
Voici un exemple de configuration pour le reverse proxy SWAG de LinuxServer.io.
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name pages.*;
include /config/nginx/ssl.conf;
client_max_body_size 0;
# enable for ldap auth (requires ldap-location.conf in the location block)
#include /config/nginx/ldap-server.conf;
# enable for Authelia (requires authelia-location.conf in the location block)
#include /config/nginx/authelia-server.conf;
# enable for Authentik (requires authentik-location.conf in the location block)
#include /config/nginx/authentik-server.conf;
location / {
# enable the next two lines for http auth
#auth_basic "Restricted";
#auth_basic_user_file /config/nginx/.htpasswd;
# enable for ldap auth (requires ldap-server.conf in the server block)
#include /config/nginx/ldap-location.conf;
# enable for Authelia (requires authelia-server.conf in the server block)
#include /config/nginx/authelia-location.conf;
# enable for Authentik (requires authentik-server.conf in the server block)
#include /config/nginx/authentik-location.conf;
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_app pages-server;
set $upstream_port 443;
set $upstream_proto https;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
# The following lines enables SNI and thus make connection to pages-server work !
proxy_ssl_name $host;
proxy_ssl_server_name on;
}
}
La suite quand ma configuration sera fonctionnelle.