Primeiros Passos
Você precisará de:
- Uma instância do Discourse com acesso ao app.yml
- Conta na AWS
Estratégia de Nomenclatura
Existem muitos lugares onde é possível cometer erros. Utilizar uma estratégia de convenção de nomenclatura que faça sentido para você e, talvez, para outros, ajudará na solução de problemas, especialmente se você estiver configurando múltiplas instâncias do Discourse.
- Usuário IAM: your-iam-user
- Política: s3-discourse-policy-your-iam-user
- Bucket de backups: yourdomain-subdomain-backups
- Bucket de uploads: yourdomain-subdomain-uploads
- Distribuições de CDNs: cdn-yourdomain-subdomain e s3-yourdomain-subdomain-uploads
Opcional: Bucket do processo de configuração: a-origin-config-bucket
Configuração da AWS
Utilize as configurações padrão nas páginas de configuração da AWS, a menos que instruído a fazer o contrário.
Nomes, nomes, nomes do S3
- Domínio da instância do Discourse: subdomain.yourdomain.tld (subdomain.yourdomain.tld incluindo www.yourdomain.tld)
- Usuário IAM: yourdomain-subdomain (yourdomain-discourse, yourdomain-forum ou Discourse no ápice/raiz: yourdomain-tld-www)
- Política para usuário IAM: s3-discourse-policy-yourdomain-subdomain
- Bucket de uploads: yourdomain-subdomain-uploads Nota: Não se esqueça de definir “Todos (acesso público)” para “Leitura” em Bucket > Permissões: Lista de controle de acesso (ACL) - Lista de controle de acesso (ACL) - Concedente.
- Bucket de backups: yourdomain-subdomain-backups
- Distribuições de CDNs: cdn-yourdomain-subdomain e s3-yourdomain-subdomain-uploads
- Bucket do processo de configuração: a-origin-config-bucket
Usuários IAM
- Vá para IAM > Usuários > Selecione “Criar usuário”
- IAM > Usuários > Criar usuário > Especificar detalhes do usuário > Detalhes do usuário > Nome do usuário > Insira o nome, ex: your-iam-user > Selecione “Próximo”
- IAM > Usuários > Criar usuário > Definir permissões > Opções de permissões > Selecione “Anexar políticas diretamente” > Selecione “Criar política” > Abre a página Criar política (Alternativamente, a política pode ser criada primeiro em Políticas e depois selecionada ao criar o usuário em “Políticas de permissão”.)
- IAM > Usuários > Criar usuário > Definir permissões > Políticas de permissão > Filtrar por seletor suspenso de Tipo > Selecione “Gerenciada pelo cliente” > Selecione a política recém-criada > Selecione “Próximo” > Selecione “Criar usuário”
- IAM > Usuários > your-iam-user > Credenciais de segurança > Chaves de acesso > Selecione “Criar chave de acesso”
- IAM > Usuários > your-iam-user > Criar chave de acesso > Melhores práticas e alternativas de chave de acesso > Selecione “Outro” > Selecione “Próximo”
- IAM > Usuários > your-iam-user > Criar chave de acesso > Definir tag de descrição > Selecione “Criar chave de acesso”
- IAM > Usuários > your-iam-user > Criar chave de acesso > Recuperar chaves de acesso > Salve com segurança a Chave de acesso e a Chave de acesso secreta para uso no app.yml do Discourse > Selecione “Concluído”
Políticas
- Modifique s3-discourse-policy-your-iam-user.txt com seu nome de usuário IAM e nomes de buckets.
- Vá para IAM > Políticas > Criar política
- IAM > Políticas > Criar política > Especificar permissões > Editor de políticas > Selecione “JSON” no editor de políticas > Copie a política de s3-discourse-policy-your-iam-user.txt e cole no editor JSON substituindo o JSON existente > Selecione “Próximo”
- IAM > Políticas > Criar política > Revisar e criar > Detalhes da política > Nome da política > Insira o nome da política, ex: s3-discourse-policy-your-iam-user > Selecione “Próximo”
- Vá para Usuários IAM: 4. IAM > Usuários > Criar usuário para continuar o processo de criação do usuário
Buckets Amazon S3
Crie e configure o bucket de backups, o bucket de uploads e o bucket do processo de configuração, opcional mas útil.
Criar o bucket de backups yourdomain-subdomain-backups
- Vá para Amazon S3 Buckets > Selecione “Criar bucket”
- Amazon S3 > Buckets > Criar bucket > Configuração geral > Confirme a seleção “Uso Geral”
- Amazon S3 > Buckets > Criar bucket > Configuração geral > Nome do bucket > Insira o nome do bucket de backups, ex: yourdomain-subdomain-backups
- Amazon S3 > Buckets > Criar bucket > Configuração geral > Confirme a seleção “ACLs desativadas (recomendado)”
- Amazon S3 > Buckets > Criar bucket > Configurações de bloqueio de acesso público para este bucket > Desmarque “Bloquear todo acesso público” e depois marque “Bloquear acesso público a buckets e objetos concedidos por meio de novas políticas de bucket público ou ponto de acesso” e “Bloquear acesso público e entre contas a buckets e objetos por meio de qualquer política de bucket público ou ponto de acesso”
- Amazon S3 > Buckets > Criar bucket > Configurações de bloqueio de acesso público para este bucket > Desativar o bloqueio de todo acesso público pode resultar neste bucket e nos objetos dentro dele se tornando públicos > Selecione “Eu reconheço que as configurações atuais podem resultar neste bucket e nos objetos dentro dele se tornando públicos.”
- Amazon S3 > Buckets > Criar bucket > Versionamento de bucket > Versionamento de bucket > Selecione “Ativar” Info: O Versionamento de bucket é necessário para “Regras de ciclo de vida”
- Amazon S3 > Buckets > Criar bucket > Selecione “Criar bucket”
Configuração de regras de ciclo de vida
Regra de Retenção de Backup
- Amazon S3 > Buckets > Selecione o bucket recém-criado, ex: yourdomain-subdomain-backups
- Amazon S3 > Buckets > yourdomain-subdomain-backups > Gerenciamento > Configuração de ciclo de vida > Selecione “Criar regra de ciclo de vida”
- Amazon S3 > Buckets > yourdomain-subdomain-backups > Gerenciamento > Configuração de ciclo de vida > Nome da regra de ciclo de vida > Insira o nome da regra, ex: retenção de backup
- Amazon S3 > Buckets > yourdomain-subdomain-backups > Gerenciamento > Configuração de ciclo de vida > Escolher escopo da regra > Selecione “Aplicar a todos os objetos no bucket”
- Amazon S3 > Buckets > yourdomain-subdomain-backups > Gerenciamento > Configuração de ciclo de vida > Escolher escopo da regra > Aplicar a todos os objetos no bucket > Selecione “Eu reconheço que esta regra se aplicará a todos os objetos no bucket.”
- Amazon S3 > Buckets > yourdomain-subdomain-backups > Gerenciamento > Configuração de ciclo de vida > Ações da regra de ciclo de vida > Selecione “Transicionar versões não atuais de objetos entre classes de armazenamento”, “Expirar versões atuais de objetos” e “Excluir permanentemente versões não atuais de objetos”
- Amazon S3 > Buckets > yourdomain-subdomain-backups > Gerenciamento > Configuração de ciclo de vida > Ações da regra de ciclo de vida > Transições são cobradas por solicitação > Selecione “Eu reconheço que esta regra de ciclo de vida incorrerá em um custo de transição por solicitação.”
- Amazon S3 > Buckets > yourdomain-subdomain-backups > Gerenciamento > Configuração de ciclo de vida > Transicionar versões não atuais de objetos entre classes de armazenamento > Escolher transições de classe de armazenamento > Selecione “Glacier Instant Retrieval”
- Amazon S3 > Buckets > yourdomain-subdomain-backups > Gerenciamento > Configuração de ciclo de vida > Transicionar versões não atuais de objetos entre classes de armazenamento > Dias após os objetos se tornarem não atuais > Insira “1”
- Amazon S3 > Buckets > yourdomain-subdomain-backups > Gerenciamento > Configuração de ciclo de vida > Expirar versões atuais de objetos > Dias após a criação do objeto > Insira “7” ou 15 ou 30 ou ???
- Amazon S3 > Buckets > yourdomain-subdomain-backups > Gerenciamento > Configuração de ciclo de vida > Excluir permanentemente versões não atuais de objetos > Dias após os objetos se tornarem não atuais > Insira “91”
- Amazon S3 > Buckets > yourdomain-subdomain-backups > Gerenciamento > Configuração de ciclo de vida > Confirme que “Revisar ações de transição e expiração” está correto > Selecione “Criar regra”
Regra de Limpeza
- Amazon S3 > Buckets > yourdomain-subdomain-backups > Gerenciamento > Configuração de ciclo de vida > Selecione “Criar regra de ciclo de vida”
- Amazon S3 > Buckets > yourdomain-subdomain-backups > Gerenciamento > Configuração de ciclo de vida > Nome da regra de ciclo de vida > Insira o nome da regra: limpeza
- Amazon S3 > Buckets > yourdomain-subdomain-backups > Gerenciamento > Configuração de ciclo de vida > Escolher escopo da regra > Selecione “Aplicar a todos os objetos no bucket”
- Amazon S3 > Buckets > yourdomain-subdomain-backups > Gerenciamento > Configuração de ciclo de vida > Escolher escopo da regra > Aplicar a todos os objetos no bucket > Selecione “Eu reconheço que esta regra se aplicará a todos os objetos no bucket.”
- Amazon S3 > Buckets > yourdomain-subdomain-backups > Gerenciamento > Configuração de ciclo de vida > Ações da regra de ciclo de vida > Selecione “Excluir permanentemente versões não atuais de objetos” e “Excluir marcadores de exclusão de objetos expirados ou uploads multipart incompletos”
- Amazon S3 > Buckets > yourdomain-subdomain-backups > Gerenciamento > Configuração de ciclo de vida > Excluir permanentemente versões não atuais de objetos > Dias após os objetos se tornarem não atuais > Insira “92”
- Amazon S3 > Buckets > yourdomain-subdomain-backups > Gerenciamento > Configuração de ciclo de vida > Excluir permanentemente versões não atuais de objetos > Excluir marcadores de exclusão de objetos expirados ou uploads multipart incompletos > Marcadores de exclusão de objetos expirados > Selecione “Excluir marcadores de exclusão de objetos expirados”
- Amazon S3 > Buckets > yourdomain-subdomain-backups > Gerenciamento > Configuração de ciclo de vida > Excluir permanentemente versões não atuais de objetos > Excluir marcadores de exclusão de objetos expirados ou uploads multipart incompletos > Uploads multipart incompletos > Selecione “Excluir uploads multipart incompletos”
- Amazon S3 > Buckets > yourdomain-subdomain-backups > Gerenciamento > Configuração de ciclo de vida > Excluir permanentemente versões não atuais de objetos > Excluir marcadores de exclusão de objetos expirados ou uploads multipart incompletos > Uploads multipart incompletos > Excluir uploads multipart incompletos > Número de dias > Insira “3” ou ???
- Amazon S3 > Buckets > yourdomain-subdomain-backups > Gerenciamento > Configuração de ciclo de vida > Confirme que “Revisar ações de transição e expiração” está correto > Selecione “Criar regra”
Criar o bucket de uploads yourdomain-subdomain-uploads
- Vá para Amazon S3 > Buckets > Selecione “Criar bucket”
- Amazon S3 > Buckets > Criar bucket > Configuração geral > Confirme a seleção “Uso Geral”
- Amazon S3 > Buckets > Criar bucket > Configuração geral > Nome do bucket > Insira o nome do bucket de uploads, ex: yourdomain-subdomain-uploads
- Amazon S3 > Buckets > Criar bucket > Configuração geral Selecione “ACLs ativadas”
- Amazon S3 > Buckets > Criar bucket > Configurações de bloqueio de acesso público para este bucket > Desmarque “Bloquear todo acesso público” e depois marque “Bloquear acesso público a buckets e objetos concedidos por meio de novas políticas de bucket público ou ponto de acesso” e “Bloquear acesso público e entre contas a buckets e objetos por meio de qualquer política de bucket público ou ponto de acesso”
- Amazon S3 > Buckets > Criar bucket > Configurações de bloqueio de acesso público para este bucket > Desativar o bloqueio de todo acesso público pode resultar neste bucket e nos objetos dentro dele se tornando públicos > Selecione “Eu reconheço que as configurações atuais podem resultar neste bucket e nos objetos dentro dele se tornando públicos.”
- Amazon S3 > Buckets > Criar bucket > Selecione “Criar bucket”
- Amazon S3 > Buckets > Tela de Buckets > Selecione o bucket recém-criado, ex: yourdomain-subdomain-uploads
Volte para fazer o passo 9 após criar a Distribuição #2 - Amazon S3 > Buckets > yourdomain-subdomain-uploads > Permissões > Política do bucket > Selecione Editar > Cole o JSON de Criar distribuição #2 11. CloudFront > Distribuições > ID da distribuição > Editar origem > Controle de acesso à origem > Selecione “Salvar alterações”
- Amazon S3 > Buckets > yourdomain-subdomain-uploads > Permissões > Lista de controle de acesso (ACL) > Selecione Editar > Todos (acesso público) > Selecione “Leitura” > Ao conceder acesso ao grupo Todos ou usuários autenticados, qualquer pessoa no mundo pode acessar os objetos neste bucket. Selecione “Eu entendo os efeitos dessas alterações nos meus objetos e buckets.” > Selecione “Salvar alterações”
Criar um bucket do processo de configuração a-origin-config-bucket
Crie um bucket para ser usado durante o processo de configuração da Distribuição #1. O nome e a configuração não são importantes, pois o bucket é usado apenas temporariamente como uma origem inicial que será excluída durante o processo de configuração.
1. Vá para Amazon S3 > Buckets > Selecione “Criar bucket”
2. Amazon S3 > Buckets > Criar bucket > Configuração geral > Confirme a seleção “Uso Geral”
3. Amazon S3 > Buckets > Criar bucket > Configuração geral > Nome do bucket > Insira o nome do bucket de uploads, ex: a-origin-config-bucket
4. Navegue pelas páginas de configuração e “Criar bucket”
Distribuições CloudFront
Crie duas distribuições CloudFront da AWS S3. Uma para servir ativos do site e a segunda para servir ativos do bucket de uploads.
Criar distribuição #1
Distribuição #1
DISCOURSE_CDN_URL
Nome da distribuição: cdn-yourdomain-subdomain
Origem: subdomain.yourdomain.tld
Nome de domínio da distribuição (URL Cloudfront): AWS-assigned.cloudfront.net
Nomes de domínio alternativos: discourse-cdn.yourdomain.tld
- Vá para CloudFront > Distribuições > Selecione “Criar”
- CloudFront > Distribuições > Criar distribuição > Escolher um plano > Selecione “Pague conforme o uso” > Selecione “Próximo”
- CloudFront > Distribuições > Criar distribuição > Começar > Opções de distribuição > Nome da distribuição > Insira o nome da distribuição, ex: cdn-yourdomain-subdomain
- CloudFront > Distribuições > Criar distribuição > Começar > Opções de distribuição > Descrição - opcional > Insira “cdn-yourdomain-subdomain” (Opcional, mas ajuda na visibilidade)
- CloudFront > Distribuições > Criar distribuição > Começar > Opções de distribuição > Tipo de distribuição > Confirme a seleção “Site único ou aplicativo” > Selecione “Próximo”
- CloudFront > Distribuições > Criar distribuição > Especificar origem > Tipo de origem > Selecione “Outro” Referencie qualquer origem AWS ou não AWS por meio de sua URL publicamente resolvível.
- CloudFront > Distribuições > Criar distribuição > Especificar origem > Origem > Origem personalizada > Insira o domínio, ex: subdomain.yourdomain.tld
- CloudFront > Distribuições > Criar distribuição > Especificar origem > Configurações > Configurações de cache > Selecione “Personalizar configurações de cache”
- CloudFront > Distribuições > Criar distribuição > Especificar origem > Configurações > Configurações de cache > Política de cache > Do menu suspenso, selecione “CachingOptimized” > Selecione “Próximo”
- CloudFront > Distribuições > Criar distribuição > Habilitar segurança > faça suas escolhas - para este guia > Selecione “Não habilitar proteções de segurança” > Selecione “Próximo”
- CloudFront > Distribuições > Criar distribuição > Revisar e criar > Selecione “Criar distribuição”
Se estiver usando uma URL de CDN personalizada → Passo 12 - CloudFront > Distribuições > ID da distribuição > Nomes de domínio alternativos > Selecione “Adicionar domínio”
- CloudFront > Distribuições > ID da distribuição > Nomes de domínio alternativos > Adicionar domínio > Configurar domínios > Domínios > Domínios para servir > Insira o DISCOURSE_CDN_URL, ex: discourse-cdn.yourdomain.tld > Selecione “Próximo”
Incompleto: Nomes de domínio alternativos: discourse-cdn.yourdomain.tld
Criar distribuição #2
Distribuição #2
DISCOURSE_S3_CDN_URL
Nome da distribuição: s3-yourdomain-subdomain-uploads
Origem: yourdomain-subdomain-uploads
Nome de domínio da distribuição (URL Cloudfront: AWS-assigned.cloudfront.net
Nomes de domínio alternativos: s3-cdn.yourdomain.tld
- CloudFront > Distribuições > Criar distribuição
- CloudFront > Distribuições > Criar distribuição > Escolher um plano > Selecione “Pague conforme o uso” > Selecione “Próximo”
- CloudFront > Distribuições > Criar distribuição > Começar > Opções de distribuição > Nome da distribuição > Insira o nome da distribuição, ex: s3-yourdomain-subdomain-uploads
- CloudFront > Distribuições > Criar distribuição > Começar > Opções de distribuição > Descrição - opcional > Insira “s3-yourdomain-subdomain-uploads” (Opcional, mas ajuda na visibilidade)
- CloudFront > Distribuições > Criar distribuição > Começar > Opções de distribuição > Tipo de distribuição > Confirme a seleção “Site único ou aplicativo” > Selecione “Próximo”
- CloudFront > Distribuições > Criar distribuição > Especificar origem > Tipo de origem > Confirme a seleção “Amazon S3”
- CloudFront > Distribuições > Criar distribuição > Especificar origem > Origem > Origem S3 > Selecione “Navegar em S3” > Selecione o bucket de uploads “yourdomain-subdomain-uploads” > Selecione “Escolher” > Selecione “Próximo”
- CloudFront > Distribuições > Criar distribuição > Habilitar segurança > faça suas escolhas - para este guia > Selecione “Não habilitar proteções de segurança” > Selecione “Próximo”
- CloudFront > Distribuições > Criar distribuição > Revisar e criar > Confirme que “Revisar e criar:” está correto > Selecione “Criar distribuição” → A página de informações da distribuição recém-criada deve abrir em CloudFront > Distribuições > ID da distribuição
- CloudFront > Distribuições > ID da distribuição > Origens > Selecione a origem > Selecione “Editar”
- CloudFront > Distribuições > ID da distribuição > Editar origem > Controle de acesso à origem > ! Você deve permitir o acesso ao CloudFront usando esta política… > Selecione “Copiar política” > Vá para Criar o bucket de uploads 9. Amazon S3 > Buckets > yourdomain-subdomain-uploads > Permissões > Política do bucket
Incompleto: Nomes de domínio alternativos: s3-cdn.yourdomain.tld
Admin do Discourse
Atualizado até a versão do Discourse: 2025.12.0-latest
Faça essas alterações na Interface de Admin do Discourse
Configurações de Backup /admin/backups/settings
- Máximo de backups > Insira o número de backups a manter localmente
- Backup com uploads > Selecione “Incluir uploads nos backups agendados. Desabilitar isso fará o backup apenas do banco de dados.”
Configurações S3 /admin/site_settings/category/all_results?filter=S3
- S3 usar URL de CDN para todos os uploads > Selecione “Usar URL de CDN para todos os arquivos enviados para o s3 em vez de apenas para imagens.” (O Discourse vem desmarcado)
Editar Config (app.yml) URLs Não Personalizadas
Edite o app.yml fazendo as alterações abaixo para URLs personalizadas ou URLs Cloudfront não personalizadas.
Discourse URLs Não Personalizadas
Use isso para distribuições Cloudfront não personalizadas. Seu DISCOURSE_S3_REGION pode ser diferente.
DISCOURSE_CDN_URL: https://amazonassigned.cloudfront.net
Config de armazenamento S3 (não personalizada)
## Config de armazenamento S3
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: us-east-1
DISCOURSE_S3_ACCESS_KEY_ID: chave ofuscada
DISCOURSE_S3_SECRET_ACCESS_KEY: chave ofuscada
DISCOURSE_S3_CDN_URL: https://amazonassigned.cloudfront.net
DISCOURSE_S3_BUCKET: your-bucket-name-uploads
DISCOURSE_S3_BACKUP_BUCKET: your-bucket-name-backups
DISCOURSE_BACKUP_LOCATION: s3
Discourse URLs Personalizadas
Configuração DNS
Se preferir usar URLs baseadas em yourdomain.com para os CDNs, você precisará fazer algumas alterações de DNS e ajustar suas URLs de CDN.
Dica: Não se esqueça de adicionar discourse-cdn.yourdomain.com e s3-cdn.yourdomain.com como um nome de domínio em “Nomes de domínio alternativos” para suas respectivas distribuições Cloudfront.
Configuração DNS se você quiser usar distribuições Cloudfront com marca de domínio.
DISCOURSE_CDN_URL
Registro existente: A discourseinstance.yourdomain.com ip da instância Nota: Este é o IP da instalação existente do Discourse.
Novo registro: A discourse-cdn-cloudfront.yourdomain.com ip da instância
Novo registro: CNAME discourse-cdn.yourdomain.com -> amazonassigned.cloudfront.net
DISCOURSE_S3_CDN_URL
Novo registro: CNAME s3-cdn-cloudfront.yourdomain.com -> amazonassigned.cloudfront.net
Novo registro: CNAME s3-cdn.yourdomain.com -> s3-cdn-cloudfront.yourdomain.com
Editar Config (app.yml) URLs Personalizadas
Uma vez concluídas as alterações de DNS, você pode editar seu app.yml fazendo as alterações abaixo.
Altere DISCOURSE_CDN_URL e/ou DISCOURSE_S3_CDN_URL se estiver usando CNAMES de domínio para a distribuição Cloudfront (amazonassigned.cloudfront.net).
DISCOURSE_CDN_URL: https://discourse-cdn.yourdomain.com
Config de armazenamento S3 (personalizada)
## Config de armazenamento S3
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: us-east-1
DISCOURSE_S3_ACCESS_KEY_ID: chave ofuscada
DISCOURSE_S3_SECRET_ACCESS_KEY: chave ofuscada
DISCOURSE_S3_CDN_URL: https://s3-cdn.yourdomain.com
DISCOURSE_S3_BUCKET: your-bucket-name-uploads
DISCOURSE_S3_BACKUP_BUCKET: your-bucket-name-backups
DISCOURSE_BACKUP_LOCATION: s3
Edições Adicionais de Config (app.yml)
Independentemente da abordagem que você usar, URLs personalizadas ou Cloudfront, você precisará da seção after_assets_precompile abaixo para garantir que as coisas permaneçam atualizadas durante reconstruções subsequentes.
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
-você pode ter mais plugins
after_assets_precompile:
- exec:
cd: $home
cmd:
- sudo -E -u discourse bundle exec rake s3:upload_assets
- sudo -E -u discourse bundle exec rake s3:expire_missing_assets
Reconstrua sua instância com ./launcher rebuild app
Após ./launcher rebuild app ser concluído com sucesso, execute esses rakes.
./launcher enter app
rake posts:rebake
rake uploads:migrate_to_s3
rake posts:rebake_uncooked_posts
rake s3:upload_assets
rake s3:expire_missing_assets
Se os rakes forem concluídos sem erros, então você está pronto para prosseguir.
Em alguns sites, a reconstrução inicial falhará com um erro relacionado a s3:upload_assets. Se isso acontecer,
verifique a configuração de “leitura” no bucket de uploads. Se estiver corretamente configurado, então,
comente ou remova a seção after_assets_precompile:
after_assets_precompile:
- exec:
cd: $home
cmd:
- sudo -E -u discourse bundle exec rake s3:upload_assets
- sudo -E -u discourse bundle exec rake s3:expire_missing_assets
e execute ./launcher rebuild app novamente. Em seguida, execute “rake s3:upload_assets” e “rake s3:expire_missing_assets”.
Se ambos os rakes forem concluídos sem erros, re-adicione ou descomente a seção after_assets_precompile, reconstrua novamente e execute todos os rakes listados acima.
Se qualquer um dos rakes der um erro ou a reconstrução falhar novamente, há algo errado no seu app.yml e/ou configurações da AWS S3 e/ou registros DNS. Boa caçada! ![]()
s3-discourse-policy-your-iam-user.txt (697 Bytes)