chat claude
https://claude.ai/chat/b1885736-ac35-42c7-9bb0-205f08c37415
nginx
Architecture multi-instances Mattermost
1. Côté Docker (tu dis savoir faire, mais je résume) :
Chaque instance doit avoir :
- Son propre
docker-compose.ymldans un dossier séparé - Son propre
.envavec des valeurs uniques :
# ===== INSTANCE 1 : groupe.aubaygues.fr =====
# Fichier : /etc/nginx/sites-available/mattermost-instance1.conf
upstream backend_instance1 {
server localhost:8065;
keepalive 64;
}
server {
listen 80;
server_name groupe.aubaygues.fr;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name groupe.aubaygues.fr;
ssl_certificate /etc/letsencrypt/live/groupe.aubaygues.fr/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/groupe.aubaygues.fr/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location ~ /api/v[0-9]+/(users/)?websocket$ {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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;
proxy_pass http://backend_instance1;
}
location / {
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;
proxy_http_version 1.1;
proxy_pass http://backend_instance1;
}
}
# ===== INSTANCE 2 : projet-x.aubaygues.fr =====
# Fichier : /etc/nginx/sites-available/mattermost-instance2.conf
upstream backend_instance2 {
server localhost:8066; # Port différent !
keepalive 64;
}
server {
listen 80;
server_name projet-x.aubaygues.fr;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name projet-x.aubaygues.fr;
ssl_certificate /etc/letsencrypt/live/projet-x.aubaygues.fr/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/projet-x.aubaygues.fr/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location ~ /api/v[0-9]+/(users/)?websocket$ {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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;
proxy_pass http://backend_instance2;
}
location / {
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;
proxy_http_version 1.1;
proxy_pass http://backend_instance2;
}
}