🕸 Tracim sur mon NAS, partie 3: Frontal Nginx

| ~ 2 mins | 306 mots

Introduction

Le service tracim tourne, mais n’est pas accessible. En effet, lors de la dernière configuration, nous avons opté pour l’accessibilité que localement sur la machine sur le port 7070. De plus, pour une raison de sécurité, il nous faut un accès en https.

Exemple de configuration nginx frontal pour l’image docker de tracim :

Voici un exemple de ce à quoi peut ressembler un reverse-proxy pour Tracim dans nginx, à noter quelques points :

/etc/nginx/site-available/tracim :

upstream tracim_local{
    server 127.0.0.1:7070;
}
server {
  listen 443 http2 ssl;
  listen [::]:443 http2 ssl;
  server_name mysuperwebsite.net;
  include common.conf;
  location / {
    client_max_body_size 300M;
    include proxy_params;
    proxy_pass http://tracim_local;
    proxy_http_version 1.1;
    proxy_set_header Connection "";
    proxy_buffering off;
  }
}

/etc/nginx/proxy_params:

proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

Exemple minimal de /etc/nginx/common.conf

Pour la configuration Nginx du ssl, je vous conseille de la tester.

ssl_certificate /path/vers/moncertif/mysuperwebsite.net/fullchain.pem;
ssl_certificate_key /path/vers/moncertif/mysuperwebsite.net/key.pem;

## Je vous conseille de vous intéresser aux autres paramètrages de ssl de nginx
## ainsi qu'au HTTP Strict Transport Security

Pour la génération des certificats, une solution simple si vous n’avez pas de contrainte complexe est d’utiliser Let’s Encrypt en mode DNS. Je le conseille avec ACME.sh.

Activation et utilisation de tracim

Si tout est ok, vous pouvez maintenant activer votre reverse-proxy:

sudo ln -s /etc/nginx/sites-available/tracim /etc/nginx/sites-enabled/tracim
nginx -t
sudo systemctl nginx reload

Et voilà ! un Tracim fonctionnel via Nginx et Podman !

🥳