Múltiplos problemas de configuração de containers

Olá a todos! Depois de tentar configurar um ambiente multisite e falhar miseravelmente, acabei criando três containers separados: um para o meu fórum atual e dois para os fóruns de arquivo. Optei por usar sockets, consegui fazer o NGINX funcionar e tenho até o Let’s Encrypt configurado seguindo estas diretrizes.

Atribuí um processo Unicorn aos fóruns de arquivo e apenas um ao fórum atual, mas surgiu uma dúvida: será que realmente posso fazer isso “out of the box” dessa forma? Todos os containers estão executando Redis e Sidekiq de um jeito que está causando conflitos graves? Ou devo, de alguma forma, vincular os dois containers de arquivo ao primeiro e assim por diante? Porque agora, após a restauração, estou recebendo esta mensagem:

Ops
O software que alimenta este fórum de discussões encontrou um problema inesperado. Pedimos desculpas pelo inconveniente.

Informações detalhadas sobre o erro foram registradas e uma notificação automática foi gerada. Vamos analisar o caso.

Nenhuma ação adicional é necessária. No entanto, se o erro persistir, você pode fornecer mais detalhes, incluindo os passos para reproduzir o erro, postando um tópico na categoria de feedback do site.

Entendi pelo tópico sobre multisite que deveriam haver dois containers separados ao configurar multisite, mas nunca compreendi exatamente o que se entende por containers de dados e de web. Isso significa que o container de dados é o único que utiliza SQL, enquanto o container web cuida do Redis e do Sidekiq, ou como funciona?

Sou um aluno rápido e já tenho algum conhecimento sobre esse assunto, mas não posso dizer que sou um administrador de sistemas.

A recomendação é que você tenha um contêiner com Redis e Postgres e um segundo com o servidor web. Se você tiver dois contêineres web, precisará de outro proxy reverso externo nginx apontando para os contêineres web. Será mais fácil ter um único servidor multisite.

Eu tenho isso em /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; # gerenciado pelo Certbot
    listen 443 ssl; # gerenciado pelo Certbot
    ssl_certificate /etc/letsencrypt/live/uskojarukous.fi/fullchain.pem; # gerenciado pelo Certbot
    ssl_certificate_key /etc/letsencrypt/live/uskojarukous.fi/privkey.pem; # gerenciado pelo Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # gerenciado pelo Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # gerenciado pelo 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; # gerenciado pelo Certbot
    listen 443 ssl; # gerenciado pelo Certbot
    ssl_certificate /etc/letsencrypt/live/uskojarukous.fi/fullchain.pem; # gerenciado pelo Certbot
    ssl_certificate_key /etc/letsencrypt/live/uskojarukous.fi/privkey.pem; # gerenciado pelo Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # gerenciado pelo Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # gerenciado pelo 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; # gerenciado pelo Certbot
    listen 443 ssl; # gerenciado pelo Certbot
    ssl_certificate /etc/letsencrypt/live/uskojarukous.fi/fullchain.pem; # gerenciado pelo Certbot
    ssl_certificate_key /etc/letsencrypt/live/uskojarukous.fi/privkey.pem; # gerenciado pelo Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # gerenciado pelo Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # gerenciado pelo Certbot

}

server {
    if ($host = www.uskojarukous.fi) {
        return 301 https://$host$request_uri;
    } # gerenciado pelo Certbot


    if ($host = nyforum.uskojarukous.fi) {
        return 301 https://$host$request_uri;
    } # gerenciado pelo Certbot


    if ($host = uskojarukous.fi) {
        return 301 https://$host$request_uri;
    } # gerenciado pelo Certbot


        listen  80;
        listen  [::]:80;

        server_name www.uskojarukous.fi uskojarukous.fi nyforum.uskojarukous.fi;
    return 404; # gerenciado pelo Certbot






}

server {
    if ($host = ueforum.uskojarukous.fi) {
        return 301 https://$host$request_uri;
    } # gerenciado pelo Certbot


        listen  80;
        listen  [::]:80;

        server_name ueforum.uskojarukous.fi;
    return 404; # gerenciado pelo Certbot


}

server {
    if ($host = urforum.uskojarukous.fi) {
        return 301 https://$host$request_uri;
    } # gerenciado pelo Certbot


        listen  80;
        listen  [::]:80;

        server_name urforum.uskojarukous.fi;
    return 404; # gerenciado pelo Certbot


}

Pelo menos dois dos fóruns estão funcionando corretamente…