Проблемы с настройкой нескольких контейнеров

Всем привет! После того как я пытался разобраться с настройкой мультисайта, но потерпел полное фиаско, я в итоге создал три отдельных контейнера: один для текущего форума и два для архивных форумов. Я выбрал вариант с сокетами, мне удалось заставить работать NGINX, и я даже настроил Let’s Encrypt в соответствии с этими инструкциями.

Я выделил по одному процессу unicorn для архивных форумов и один для текущего, но у меня возник вопрос: действительно ли я могу так делать «из коробки»? Не приводят ли все контейнеры, запускающие Redis и Sidekiq, к серьёзным конфликтам? Или мне следует как-то связать два контейнера архива с первым и так далее? Потому что сейчас после восстановления я получаю следующее сообщение:

Ой
В программном обеспечении, управляющем этим форумом для обсуждений, возникла непредвиденная проблема. Приносим извинения за неудобства.

Подробная информация об ошибке была записана в логи, и было автоматически сгенерировано уведомление. Мы разберёмся в этом.

Дальнейших действий не требуется. Однако, если ошибка сохраняется, вы можете предоставить дополнительные детали, включая шаги для воспроизведения ошибки, опубликовав тему в категории обратной связи сайта.

Из темы о мультисайте я понял, что при настройке мультисайта должно быть два отдельных контейнера, но я так и не до конца понял, что имеется в виду под контейнерами данных и веб-контейнерами. Это значит, что только контейнер данных использует SQL, а веб-контейнеры — Redis и Sidekiq, или как?

Я быстро учусь и немного разбираюсь в подобных вещах, но не могу сказать, что я системный администратор.

Рекомендуется использовать один контейнер для Redis и PostgreSQL и второй — для веб-сервера. Если у вас два веб-контейнера, потребуется дополнительный внешний nginx для реверс-проксирования на эти контейнеры. Проще будет развернуть единый мультисайтовый сервер.

У меня в /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; # управляется Certbot
    listen 443 ssl; # управляется Certbot
    ssl_certificate /etc/letsencrypt/live/uskojarukous.fi/fullchain.pem; # управляется Certbot
    ssl_certificate_key /etc/letsencrypt/live/uskojarukous.fi/privkey.pem; # управляется Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # управляется Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # управляется 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; # управляется Certbot
    listen 443 ssl; # управляется Certbot
    ssl_certificate /etc/letsencrypt/live/uskojarukous.fi/fullchain.pem; # управляется Certbot
    ssl_certificate_key /etc/letsencrypt/live/uskojarukous.fi/privkey.pem; # управляется Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # управляется Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # управляется 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; # управляется Certbot
    listen 443 ssl; # управляется Certbot
    ssl_certificate /etc/letsencrypt/live/uskojarukous.fi/fullchain.pem; # управляется Certbot
    ssl_certificate_key /etc/letsencrypt/live/uskojarukous.fi/privkey.pem; # управляется Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # управляется Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # управляется Certbot

}

server {
    if ($host = www.uskojarukous.fi) {
        return 301 https://$host$request_uri;
    } # управляется Certbot


    if ($host = nyforum.uskojarukous.fi) {
        return 301 https://$host$request_uri;
    } # управляется Certbot


    if ($host = uskojarukous.fi) {
        return 301 https://$host$request_uri;
    } # управляется Certbot


        listen  80;
        listen  [::]:80;

        server_name www.uskojarukous.fi uskojarukous.fi nyforum.uskojarukous.fi;
    return 404; # управляется Certbot






}

server {
    if ($host = ueforum.uskojarukous.fi) {
        return 301 https://$host$request_uri;
    } # управляется Certbot


        listen  80;
        listen  [::]:80;

        server_name ueforum.uskojarukous.fi;
    return 404; # управляется Certbot


}

server {
    if ($host = urforum.uskojarukous.fi) {
        return 301 https://$host$request_uri;
    } # управляется Certbot


        listen  80;
        listen  [::]:80;

        server_name urforum.uskojarukous.fi;
    return 404; # управляется Certbot


}

По крайней мере, два форума работают нормально…