Problèmes de configuration avec plusieurs conteneurs

Salut à tous ! Après avoir tenté en vain de configurer un multisite, j’ai fini par créer trois conteneurs distincts : un pour mon forum actuel et deux pour les forums d’archive. J’ai opté pour une configuration socketée, j’ai réussi à faire fonctionner NGINX et j’ai même configuré Let’s Encrypt conformément à ces directives.

J’ai attribué un processus unicorn aux forums d’archive et un seul au forum actuel, mais une question me taraude : est-ce vraiment possible de faire cela tel quel, sans configuration supplémentaire ? Est-ce que tous les conteneurs exécutent Redis et Sidekiq d’une manière qui crée des conflits majeurs ? Ou devrais-je plutôt lier les deux conteneurs d’archive au premier, et ainsi de suite ? Parce qu’après une restauration, j’obtiens ce message :

Oups
Le logiciel qui alimente ce forum de discussion a rencontré un problème inattendu. Nous nous excusons pour la gêne occasionnée.

Des informations détaillées sur l’erreur ont été enregistrées et une notification automatique a été générée. Nous allons l’examiner.

Aucune action supplémentaire n’est nécessaire. Cependant, si le problème persiste, vous pouvez fournir des détails supplémentaires, y compris les étapes pour reproduire l’erreur, en publiant un sujet de discussion dans la catégorie de retour d’expérience du site.

J’ai compris à partir du sujet sur le multisite qu’il devrait y avoir deux conteneurs distincts lors de la configuration d’un multisite, mais je n’ai jamais vraiment compris ce que signifiaient les conteneurs de données et de web. Cela signifie-t-il que le conteneur de données est le seul à utiliser SQL, tandis que le conteneur web gère Redis et Sidekiq, ou autre chose ?

Je suis un apprenant rapide et j’ai déjà quelques notions dans ce domaine, mais je ne peux pas vraiment dire que je suis administrateur système.

La recommandation est d’avoir un conteneur avec Redis et Postgres, et un second avec le serveur web. Si vous avez deux conteneurs web, vous devrez alors mettre en place un autre proxy inverse nginx externe pour les router vers les conteneurs web. Il sera plus simple d’utiliser un seul serveur multisite.

J’ai ceci dans /etc/nginx/sites-available/default :

server {

        server_name www.uskojarukous.fi uskojarukous.fi nyforum.uskojarukous.fi;

        location /errorpages/ {
                alias /var/www/errorpages/;
        }

        location / {
                proxy_pass http://unix:/var/discourse/shared/nyforum/nginx.http.sock:;
                proxy_set_header Host $http_host;
                proxy_http_version 1.1;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Real-IP $remote_addr;
                error_page 502 =502 /errorpages/offline.html;
        }

    listen [::]:443 ssl ipv6only=on; # géré par Certbot
    listen 443 ssl; # géré par Certbot
    ssl_certificate /etc/letsencrypt/live/uskojarukous.fi/fullchain.pem; # géré par Certbot
    ssl_certificate_key /etc/letsencrypt/live/uskojarukous.fi/privkey.pem; # géré par Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # géré par Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # géré par Certbot



}

server {

        server_name urforum.uskojarukous.fi;

        location /errorpages/ {
                alias /var/www/errorpages/;
        }

        location / {
                proxy_pass http://unix:/var/discourse/shared/urforum/nginx.http.sock:;
                proxy_set_header Host $http_host;
                proxy_http_version 1.1;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Real-IP $remote_addr;
                error_page 502 =502 /errorpages/offline.html;
        }

    listen [::]:443 ssl; # géré par Certbot
    listen 443 ssl; # géré par Certbot
    ssl_certificate /etc/letsencrypt/live/uskojarukous.fi/fullchain.pem; # géré par Certbot
    ssl_certificate_key /etc/letsencrypt/live/uskojarukous.fi/privkey.pem; # géré par Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # géré par Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # géré par Certbot

}

server {

        server_name ueforum.uskojarukous.fi;

        location /errorpages/ {
                alias /var/www/errorpages/;
        }

        location / {
                proxy_pass http://unix:/var/discourse/shared/ueforum/nginx.http.sock:;
                proxy_set_header Host $http_host;
                proxy_http_version 1.1;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Real-IP $remote_addr;
                error_page 502 =502 /errorpages/offline.html;
        }

    listen [::]:443 ssl; # géré par Certbot
    listen 443 ssl; # géré par Certbot
    ssl_certificate /etc/letsencrypt/live/uskojarukous.fi/fullchain.pem; # géré par Certbot
    ssl_certificate_key /etc/letsencrypt/live/uskojarukous.fi/privkey.pem; # géré par Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # géré par Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # géré par Certbot

}

server {
    if ($host = www.uskojarukous.fi) {
        return 301 https://$host$request_uri;
    } # géré par Certbot


    if ($host = nyforum.uskojarukous.fi) {
        return 301 https://$host$request_uri;
    } # géré par Certbot


    if ($host = uskojarukous.fi) {
        return 301 https://$host$request_uri;
    } # géré par Certbot


        listen  80;
        listen  [::]:80;

        server_name www.uskojarukous.fi uskojarukous.fi nyforum.uskojarukous.fi;
    return 404; # géré par Certbot






}

server {
    if ($host = ueforum.uskojarukous.fi) {
        return 301 https://$host$request_uri;
    } # géré par Certbot


        listen  80;
        listen  [::]:80;

        server_name ueforum.uskojarukous.fi;
    return 404; # géré par Certbot


}

server {
    if ($host = urforum.uskojarukous.fi) {
        return 301 https://$host$request_uri;
    } # géré par Certbot


        listen  80;
        listen  [::]:80;

        server_name urforum.uskojarukous.fi;
    return 404; # géré par Certbot


}

Au moins deux des forums fonctionnent correctement…