Instalação VPS na Hostinger com Stack LEMP Ubuntu 24.04 LTS e CloudPanel

Eu tenho 3 sites em Drupal 7 que usam PHP Generic e Varnish. O stack LEMP usa NGINX.
Quero instalar o Discourse como fórum para um de meus sites.
Instalei o docker, o discourse, configurei o subdomínio e o /etc/nginx/sites-enabled/forum.linguagemclipper.com.br.conf
Criei os certificados.
Após a instalação tenho: The provided host name is not valid for this server.
Deu vários erros referente ao uso de mesma porta.
Creio que preciso consertar o meu .conf e o meu app.yml, já fiz vários testes com ajuda do chatgpt, já rodei o ./discourse-doctor
Não sei mais o que fazer…
Meu .conf:

server {
    listen 80;
    listen [::]:80;
    server_name forum.linguagemclipper.com.br;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    http2 on;
    http3 off;
    server_name forum.linguagemclipper.com.br;

    ssl_certificate     /etc/letsencrypt/live/forum.linguagemclipper.com.br/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/forum.linguagemclipper.com.br/privkey.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $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 https;
    }
}

E meu app;yml:

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  ## Uncomment the next line to enable the IPv6 listener
  #- "templates/web.ipv6.template.yml"
  - "templates/web.ratelimited.template.yml"
  ## Uncomment these two lines if you wish to add Lets Encrypt (https)
#  - "templates/web.ssl.template.yml"
#  - "templates/web.letsencrypt.ssl.template.yml"

## which TCP/IP ports should this container expose?
## If you want Discourse to share a port with another webserver like Apache or nginx,
## see https://meta.discourse.org/t/17247 for details
expose:
- "8080:80"   # http interno do Discourse mapeado para porta 8080
#  - "3000:80"   # http
#  - "4433:443"  # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## Set db_shared_buffers to a max of 25% of the total memory.
  ## will be set automatically by bootstrap based on detected RAM, or you can override
  db_shared_buffers: "2048MB"

  ## can improve sorting performance, but adds memory usage per-connection
  db_work_mem: "40MB"

  ## Which Git revision should this container use? (default: tests-passed)
  #version: tests-passed

env:
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8
  LANGUAGE: en_US.UTF-8
  DISCOURSE_DEFAULT_LOCALE: pt_BR

  # O HTTPS está forçado, mesmo sem usar SSL interno
  DISCOURSE_FORCE_HTTPS: true

  ## How many concurrent web requests are supported? Depends on memory and CPU cores.
  ## will be set automatically by bootstrap based on detected CPUs, or you can override
  UNICORN_WORKERS: 4

Alguns erros:

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=4 -e UNICORN_SIDEKIQS=1 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LC_ALL=en_US.UTF-8 -e LANGUAGE=en_US.UTF-8 -e DISCOURSE_DEFAULT_LOCALE=pt_BR -e DISCOURSE_FORCE_HTTPS=true -e DISCOURSE_HOSTNAME=forum.linguagemclipper.com.br -e DISCOURSE_DEVELOPER_EMAILS=anderson@linguagemclipper.com.br -e DISCOURSE_SMTP_ADDRESS=smtppro.zoho.com -e DISCOURSE_SMTP_PORT=587 -e DISCOURSE_SMTP_USER_NAME=anderson@linguagemclipper.com.br -e 'DISCOURSE_SMTP_PASSWORD=Clavis75!' -e DISCOURSE_SMTP_ENABLE_START_TLS=true -e LETSENCRYPT_ACCOUNT_EMAIL=anderson@linguagemclipper.com.br -h srv801054-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 8080:80 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:cd:20:6d:ed:a7 local_discourse/app /sbin/boot
f221ba6dc911301795806390816be38e78c26b71d94773c814f057817b88a776
docker: Error response from daemon: driver failed programming external connectivity on endpoint app (a5dc4c7ba846ccf556189495ce62e040cea87a62cf47e44fef76b4364fcb9e4a): Error starting userland proxy: listen tcp4 0.0.0.0:8080: bind: address already in use.
root@srv801054:/var/discourse# docker ps -a
CONTAINER ID   IMAGE                              COMMAND                  CREATED          STATUS                    PORTS     NAMES
18cc215795b4   local_discourse/app                "/sbin/boot"             22 minutes ago   Created                             app
7cc7772ec84d   discourse/base:2.0.20250226-0128   "/bin/bash -c '/usr/…"   22 hours ago     Exited (0) 22 hours ago             frosty_mendeleev
fb3ce2afb5a7   discourse/base:2.0.20250226-0128   "/bin/bash -c '/usr/…"   22 hours ago     Exited (0) 22 hours ago             determined_greider
root@srv801054:/var/discourse# sudo ss -ltnp | grep :8080
LISTEN 0      511          0.0.0.0:8080       0.0.0.0:*    users:(("nginx",pid=885962,fd=26),("nginx",pid=885961,fd=26),("nginx",pid=674485,fd=26))
LISTEN 0      511             [::]:8080          [::]:*    users:(("nginx",pid=885962,fd=27),("nginx",pid=885961,fd=27),("nginx",pid=674485,fd=27))
root@srv801054:/var/discourse# sudo lsof -i :8080
COMMAND      PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
cache-mai 400747 vcache   26u  IPv4 4374453      0t0  TCP localhost:45054->localhost:http-alt (ESTABLISHED)
nginx     674485   root   26u  IPv4 3106797      0t0  TCP *:http-alt (LISTEN)
nginx     674485   root   27u  IPv6 3106798      0t0  TCP *:http-alt (LISTEN)
nginx     885961   root   26u  IPv4 3106797      0t0  TCP *:http-alt (LISTEN)
nginx     885961   root   27u  IPv6 3106798      0t0  TCP *:http-alt (LISTEN)
nginx     885961   root   44u  IPv4 4374454      0t0  TCP localhost:http-alt->localhost:45054 (ESTABLISHED)
nginx     885962   root   26u  IPv4 3106797      0t0  TCP *:http-alt (LISTEN)
nginx     885962   root   27u  IPv6 3106798      0t0  TCP *:http-alt (LISTEN)
root@srv801054:/var/discourse# 

Looks like something else is using that port. Try another port? After you change the port in the app.yml, you can

./launcher destroy app;./launcher start app

instead of doing a whole rebuild.

DISCOURSE INSTALADO, MAS NÃO ENVIA EMAILS

Mudei a porta do discourse no app.yml para 8888 e no vhost do Cloudpanel também, depois parei o NGINX para recompilar o discourse e deu certo.
Reativei o NGINX e tanto os sites quanto o discourse continuaram no ar.
O problema é que o discourse não está enviando emails nem a pau, precisamos do email de ativação de conta.
Já mudei as portas e não adiantou.
No mesmo servidor eu instalei o Mailcow dentro de um docker e está funcionando normalmente, tanto envio como recebo emails.

Looks like you’re doing some creative, cool stuff on your server! Note that we only are able to provide support here if you use the official install instructions. Please take a look and try again following the instructions, which also provides troubleshooting steps.

1 Like