# Existe uma maneira de especificar DISCOURSE\_PORT ao lado de DISCOURSE\_HOSTNAME?

**URL:** <https://meta.discourse.org/t/is-there-a-way-to-specify-discourse-port-next-to-discourse-hostname/197950>\
**Category:** Self-hosting\
**Created:** [23 Julho , 2021 07:04 UTC](https://meta.discourse.org/t/is-there-a-way-to-specify-discourse-port-next-to-discourse-hostname/197950 "2021-07-23T07:04:14Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![vsile](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/vsile/32/228636_2.png) [@vsile](https://meta.discourse.org/u/vsile)\
**Post date:** [23 Julho , 2021 07:04 UTC](https://meta.discourse.org/t/is-there-a-way-to-specify-discourse-port-next-to-discourse-hostname/197950/1 "2021-07-23T07:04:14Z")

</div>

A URL de destino é **[https://discourse.example.com:9443](https://discourse.example.com:9443)**.  
Usamos um proxy reverso (nginx) em **outro servidor** com esta configuração:

> **Spoiler**
>
> ```plaintext
> server {
> listen 9443 ssl;
> listen [::]:9443 ssl;
> 
> client_max_body_size 500m;
> 
> server_name discourse.example.com;
> 
> ssl_certificate /etc/ssl/certs/example.com.pem;
> ssl_certificate_key /etc/ssl/private/example.com.key;
> 
> location / {
> proxy_pass http://10.250.26.133:3080/;
> 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 $scheme;
> }
> }
> 
> ```

E este arquivo containers/app.yml:

> **Spoiler**
>
> ```plaintext
> templates:
> - "templates/postgres.template.yml"
> - "templates/redis.template.yml"
> - "templates/web.template.yml"
> - "templates/web.ratelimited.template.yml"
> # - "templates/web.ssl.template.yml"
> # - "templates/web.letsencrypt.ssl.template.yml"
> 
> expose:
> - "3080:80" # http
> - "443:443" # https
> 
> params:
> db_default_text_search_config: "pg_catalog.english"
> db_shared_buffers: "2048MB"
> 
> env:
> LC_ALL: en_US.UTF-8
> LANG: en_US.UTF-8
> LANGUAGE: en_US.UTF-8
> # DISCOURSE_DEFAULT_LOCALE: en
> 
> UNICORN_WORKERS: 8
> 
> DISCOURSE_HOSTNAME: discourse.example.com
> DISCOURSE_PORT: 9443 # <- isso não funciona
> 
> #DOCKER_USE_HOSTNAME: true
> 
> DISCOURSE_DEVELOPER_EMAILS: 'admin@example.com'
> 
> DISCOURSE_SMTP_ADDRESS: smtp.example.com
> DISCOURSE_SMTP_PORT: 587
> DISCOURSE_SMTP_USER_NAME: example-username
> DISCOURSE_SMTP_PASSWORD: "p@ssw0rd"
> DISCOURSE_SMTP_AUTHENTICATION: login
> DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
> DISCOURSE_SMTP_ENABLE_START_TLS: true # (opcional, padrão true)
> DISCOURSE_SMTP_DOMAIN: example.com
> DISCOURSE_NOTIFICATION_EMAIL: discourse@example.com
> 
> LETSENCRYPT_ACCOUNT_EMAIL: me@example.com
> 
> volumes:
> - volume:
> host: /var/discourse/shared/standalone
> guest: /shared
> - volume:
> host: /var/discourse/shared/standalone/log/var-log
> guest: /var/log
> 
> hooks:
> after_code:
> - exec:
> cd: $home/plugins
> cmd:
> - git clone https://github.com/discourse/docker_manager.git
> - git clone https://github.com/discourse/discourse-oauth2-basic.git
> run:
> - exec: echo "Início dos comandos personalizados"
> - exec: echo "Fim dos comandos personalizados"
> 
> ```

Executei ./launcher rebuild app.  
Depois, temos a URL funcionando [https://discourse.example.com:9443](https://discourse.example.com:9443).

Mas

1. Não consegui criar um usuário administrador, pois o Discourse me redireciona para uma URL sem a porta 9443.  
Tive que criar o administrador via console (`./launcher enter app` e depois `rake admin:create`)

2. Não consegui registrar nenhum outro usuário pela mesma razão.

3. Não consegui conectar com o Gitea OAuth, pois o Discourse gera a URL de autorização com um redirect\_uri incorreto (porta 9443 ausente na URL)

Existe uma maneira de especificar DISCOURSE\_PORT ao lado de DISCOURSE\_HOSTNAME?

---

_[View the full topic](https://meta.discourse.org/t/is-there-a-way-to-specify-discourse-port-next-to-discourse-hostname/197950)._
