Artículo actualizado en agosto de 2026. Los precios de AWS varían según la región, el consumo, el tráfico y los impuestos aplicables.
Discourse es una plataforma de código abierto para crear foros y comunidades en línea. Puedes contratar un servicio administrado o instalarlo en tu propia infraestructura para mantener el control del servidor, los datos y la configuración.
En este tutorial veremos cómo instalar Discourse en Amazon Web Services utilizando una instancia EC2. También conectaremos un dominio, configuraremos el envío de correos con Amazon SES y registraremos la primera cuenta de administrador.
Qué configuraremos
Al terminar tendrás:
- Un servidor Ubuntu funcionando en Amazon EC2.
- Una dirección IP pública estable.
- Un dominio o subdominio conectado al servidor.
- Discourse instalado mediante su instalador oficial.
- HTTPS configurado automáticamente.
- Amazon SES funcionando como servidor SMTP.
- Una primera cuenta con permisos de administrador.
La instalación oficial recomienda un servidor Linux de 64 bits con, como mínimo, 1 GB de memoria acompañado de swap. Para un uso normal recomienda 2 GB o más de memoria, al menos 2 núcleos y 20 GB de almacenamiento.
¿Cuánto cuesta alojar Discourse en AWS?
Este es un escenario básico utilizando la región US East —Ohio—, una instancia t3.small y precios bajo demanda.
| Servicio | Recurso en AWS | Estimación mensual |
|---|---|---|
| Servidor | EC2 t3.small |
15,18 USD |
| Disco de 20 GB | EBS gp3 |
1,60 USD |
| Dirección IPv4 pública | Elastic IP | 3,65 USD |
| Correo transaccional | Amazon SES | Menos de 1 USD en una comunidad pequeña |
| Gestión DNS | Route 53 | Desde 0,50 USD |
| Dominio | Registro anual | Depende de la extensión |
| Total básico aproximado | 22–24 USD/mes |
La instancia t3.small cuesta aproximadamente 0,0208 USD por hora en US East —Ohio—, lo que equivale a unos 15,18 USD por 730 horas. AWS también cobra por cada dirección IPv4 pública, incluso cuando está asociada a una instancia en funcionamiento.
El almacenamiento EBS gp3 cuesta alrededor de 0,08 USD por GB al mes en las regiones utilizadas como referencia, por lo que un volumen de 20 GB representa aproximadamente 1,60 USD mensuales. Route 53 cobra una tarifa mensual por cada zona alojada, además de una pequeña cantidad por las consultas DNS.
Estos cálculos no incluyen:
- Impuestos.
- Transferencia de datos.
- Copias de seguridad externas.
- Almacenamiento de archivos en S3.
- Una CDN con CloudFront.
- Servicios adicionales o plugins externos.
Por tanto, no conviene pensar en los 22–24 USD como una tarifa fija, sino como una referencia para una comunidad pequeña con poco tráfico.
Los servicios necesarios
Servidor: Amazon EC2
Amazon EC2 proporciona el servidor virtual en el que se ejecutará Discourse.
En el video utilizamos una instancia t3.small, que incluye:
- 2 CPU virtuales.
- 2 GB de memoria.
- Arquitectura x86 de 64 bits.
Es una configuración apropiada para comenzar con una comunidad pequeña. Si el foro crece, puedes cambiar posteriormente el tipo de instancia.
También necesitarás un volumen EBS para almacenar:
- El sistema operativo.
- La base de datos.
- Redis.
- La aplicación.
- Los archivos subidos.
- Las copias de seguridad locales.
Para una instalación inicial, 20 GB es el mínimo recomendado. Conviene utilizar un volumen gp3, que ofrece almacenamiento SSD de propósito general.
Dirección IP pública
El servidor necesita una dirección pública para que el dominio pueda conectarse a él.
Aunque EC2 puede asignar automáticamente una dirección IPv4, esa dirección puede cambiar al detener y volver a iniciar la instancia. Para una instalación permanente conviene asignar una Elastic IP, que permanece asociada al servidor hasta que decidas liberarla.
AWS cobra por las direcciones IPv4 públicas, estén o no asociadas a una instancia. La antigua afirmación de que una Elastic IP en uso era gratuita ya no es correcta.
Dominio y DNS
Discourse necesita un dominio o subdominio público.
Por ejemplo:
foro.ejemplo.com
Puedes comprar el dominio en Route 53 o utilizar uno registrado con otro proveedor.
No es obligatorio trasladar toda la gestión DNS a AWS. Solo necesitas crear un registro de tipo A que conecte el dominio o subdominio con la dirección IPv4 del servidor.
Ejemplo:
foro.ejemplo.com → 18.226.91.119
El dominio debe resolver correctamente antes de completar la instalación, porque el asistente de Discourse comprobará el DNS y utilizará el dominio para generar el certificado HTTPS.
Certificado HTTPS
No necesitas comprar ni instalar manualmente un certificado.
El instalador oficial obtiene un certificado gratuito mediante Let’s Encrypt y configura HTTPS automáticamente, siempre que:
- El dominio apunte al servidor.
- Los puertos 80 y 443 estén abiertos.
- Ningún otro servicio esté ocupando esos puertos.
Correos transaccionales con Amazon SES
Discourse utiliza el correo electrónico para funciones como:
- Confirmar cuentas.
- Recuperar contraseñas.
- Enviar invitaciones.
- Notificar respuestas y menciones.
- Enviar resúmenes de actividad.
- Recibir respuestas por correo.
En el tutorial utilizamos Amazon Simple Email Service, conocido como Amazon SES.
SES cobra según la cantidad de mensajes enviados, por lo que el coste suele ser muy bajo para una comunidad pequeña.
Las cuentas nuevas de SES suelen comenzar en el entorno de pruebas o sandbox. En ese estado solo puedes enviar mensajes a direcciones verificadas. Antes de abrir el foro al público tendrás que solicitar acceso de producción.
La configuración SMTP puede omitirse inicialmente en algunas instalaciones modernas. Sin embargo, necesitarás un servicio de correo para utilizar funciones tradicionales como los resúmenes, las notificaciones y las respuestas por email.
Tutorial paso a paso
Ver el resumen completo del video
1. Crear la instancia EC2
Entra en la consola de AWS y abre el servicio EC2.
Selecciona Lanzar instancia y configura los siguientes elementos:
- Nombre: utiliza un nombre que te permita identificar el servidor.
- Sistema operativo: Ubuntu Server LTS de 64 bits.
- Tipo de instancia:
t3.smallo una instancia equivalente con al menos 2 GB de memoria. - Almacenamiento: un volumen EBS
gp3de 20 GB o más. - Par de claves: crea o selecciona una clave para acceder por SSH.
Descarga el archivo .pem y guárdalo en un lugar seguro. No podrás descargar nuevamente la clave privada desde AWS.
2. Configurar las reglas de red
En el grupo de seguridad de la instancia, permite conexiones entrantes en los siguientes puertos:
| Puerto | Protocolo | Uso |
|---|---|---|
| 22 | TCP | Acceso SSH |
| 80 | TCP | HTTP y validación del certificado |
| 443 | TCP | HTTPS |
Siempre que sea posible, limita el acceso al puerto 22 a tu dirección IP. Los puertos 80 y 443 deben estar disponibles públicamente.
3. Asociar una Elastic IP
En el menú de EC2, abre Elastic IP addresses.
Sigue estos pasos:
- Reserva una nueva Elastic IP.
- Selecciona la dirección creada.
- Pulsa Associate Elastic IP address.
- Selecciona la instancia de Discourse.
- Confirma la asociación.
Utiliza esta dirección en la configuración DNS del dominio.
4. Conectar el dominio
Abre el proveedor donde administras los registros DNS.
Crea un registro de tipo A:
| Campo | Ejemplo |
|---|---|
| Nombre | foro |
| Tipo | A |
| Valor | Dirección Elastic IP |
| TTL | Valor predeterminado |
El resultado será un dominio como:
foro.ejemplo.com
Puedes comprobar que apunta al servidor mediante herramientas como ping, nslookup o un verificador DNS.
No continúes con la instalación hasta que el dominio resuelva a la dirección correcta.
5. Conectarse al servidor
Abre una terminal en la carpeta donde guardaste la clave .pem.
En macOS o Linux, ajusta sus permisos:
chmod 400 nombre-de-la-clave.pem
Después, conéctate al servidor:
ssh -i nombre-de-la-clave.pem ubuntu@DIRECCION_IP
Por ejemplo:
ssh -i foronauta.pem ubuntu@18.226.91.119
La primera vez que te conectes, el sistema te pedirá confirmar la identidad del servidor. Escribe:
yes
6. Ejecutar el instalador oficial de Discourse
Una vez dentro del servidor, ejecuta:
wget -qO- https://raw.githubusercontent.com/discourse/discourse_docker/main/install-discourse | sudo bash
El instalador realiza varias comprobaciones:
- Permisos del usuario.
- Disponibilidad de Docker.
- Memoria y CPU.
- Espacio disponible.
- Puertos 80 y 443.
- Resolución del dominio.
- Existencia de memoria swap.
Si el servidor tiene poca memoria, el instalador puede ofrecer crear automáticamente un archivo de intercambio. Selecciona Sí para una instancia de 2 GB.
7. Introducir el dominio
Cuando el asistente lo solicite, escribe el dominio completo:
foro.ejemplo.com
No incluyas:
https://- Una barra al final.
- Una ruta adicional.
El instalador comprobará que el dominio apunta a la dirección pública del servidor.
8. Configurar Amazon SES
Abre Amazon SES en la misma región en la que vas a crear las credenciales SMTP.
Verificar el remitente
Dentro de Verified identities, crea una identidad.
Puedes verificar:
- Una dirección de correo concreta.
- El dominio completo.
Para una instalación permanente es preferible verificar el dominio.
AWS te proporcionará varios registros DNS. Añádelos al proveedor del dominio y espera hasta que la identidad aparezca como verificada.
Crear credenciales SMTP
Abre la configuración SMTP de SES y selecciona la opción para crear credenciales.
AWS generará:
- Un nombre de usuario SMTP.
- Una contraseña SMTP.
Guarda ambos valores inmediatamente.
También necesitarás:
- El servidor SMTP de la región.
- El puerto.
- La dirección remitente verificada.
Las credenciales SMTP son específicas de cada región. No funcionarán correctamente si las utilizas con el servidor SMTP de una región diferente.
9. Introducir la configuración SMTP
Regresa a la terminal e introduce:
- Servidor SMTP.
- Puerto SMTP.
- Nombre de usuario.
- Contraseña.
- Dirección remitente.
- Dirección de correo del administrador.
Revisa que no haya espacios adicionales al principio o al final de las credenciales.
Si todavía no quieres configurar el correo, el instalador puede permitirte omitir esta parte. En el video configuramos SES para mantener disponibles todas las funciones de correo electrónico.
10. Construir la instalación
Una vez confirmados los datos, el instalador comenzará a construir Discourse.
Durante esta etapa:
- Instala Docker.
- Descarga los componentes necesarios.
- Configura PostgreSQL y Redis.
- Construye la aplicación.
- Configura el servidor web.
- Solicita el certificado HTTPS.
- Inicia el contenedor.
Este proceso puede tardar varios minutos, dependiendo del servidor y de la velocidad de la red.
No cierres la terminal mientras se está construyendo la aplicación.
11. Registrar la cuenta de administrador
Cuando finalice la instalación, abre el foro:
https://foro.ejemplo.com
Selecciona la opción para registrarte y utiliza exactamente una de las direcciones de administrador introducidas durante la instalación.
Si has configurado SMTP:
- Revisa tu bandeja de entrada.
- Abre el mensaje de Discourse.
- Confirma la dirección.
- Completa el registro.
12. Completar el asistente inicial
Al entrar por primera vez como administrador, Discourse mostrará un asistente para configurar:
- Nombre de la comunidad.
- Descripción.
- Logo.
- Colores.
- Acceso público o privado.
- Categorías iniciales.
- Datos de contacto.
Todos estos elementos pueden modificarse posteriormente desde el panel de administración.
13. Comprobar el envío de correo
Antes de invitar usuarios:
- Entra en el panel de administración.
- Abre la sección de correo electrónico.
- Envía un mensaje de prueba.
- Comprueba los registros de correos enviados y rechazados.
También puedes crear una cuenta de prueba o solicitar una recuperación de contraseña.
Si la cuenta de Amazon SES continúa en el sandbox, el destinatario también tendrá que estar verificado.
14. Revisar el servidor
Después de instalar Discourse, conviene comprobar:
- Que HTTPS funciona.
- Que el dominio carga correctamente.
- Que los correos llegan.
- Que la cuenta tiene permisos de administración.
- Que hay espacio suficiente en el disco.
- Que las copias de seguridad están activadas.
- Que la instancia y la Elastic IP aparecen correctamente en AWS.
Almacenamiento externo con S3 y CloudFront
Discourse guarda inicialmente las imágenes y los archivos en el disco del servidor.
Para una comunidad pequeña esto puede ser suficiente. No necesitas configurar S3 para completar la instalación del video.
Cuando el foro crece, puedes trasladar los archivos a un almacenamiento de objetos como Amazon S3. Entre sus ventajas se encuentran:
- El almacenamiento deja de depender del tamaño del disco del servidor.
- Los archivos sobreviven aunque reemplaces la instancia.
- Es más sencillo aumentar la capacidad.
- Puedes distribuir los archivos mediante una CDN.
- Puedes separar las copias de seguridad del servidor principal.
Discourse admite almacenamiento compatible con S3 y puede utilizar Amazon CloudFront como CDN para los archivos subidos. Esta configuración es opcional y añade costes y complejidad, por lo que normalmente conviene realizarla después de tener la instalación principal funcionando.
Copias de seguridad
Una instalación propia implica que también eres responsable de proteger los datos.
Discourse puede generar copias de seguridad automáticas desde el panel de administración. Para una instalación de producción, evita mantener todas las copias únicamente dentro de la misma instancia.
Puedes almacenarlas en:
- Amazon S3.
- Otro proveedor compatible con S3.
- Un servidor externo.
- Un sistema automatizado de descargas.
También puedes crear instantáneas del volumen EBS, aunque estas no sustituyen por completo las copias de seguridad internas de Discourse.
Actualizaciones y mantenimiento
Discourse publica actualizaciones frecuentes que pueden incluir mejoras, correcciones y parches de seguridad.
La forma recomendada de actualizar es desde:
/admin/upgrade
También puedes reconstruir el contenedor desde la terminal:
cd /var/discourse
sudo ./launcher rebuild app
Conviene mantener actualizado tanto Discourse como el sistema operativo del servidor.
Problemas frecuentes
El dominio no abre el foro
Comprueba que:
- El registro A apunta a la IP correcta.
- La instancia está encendida.
- La Elastic IP está asociada.
- Los puertos 80 y 443 están abiertos.
- El cambio DNS ya se ha propagado.
HTTPS no se activa
El certificado automático puede fallar cuando:
- El dominio todavía no apunta al servidor.
- El puerto 80 está bloqueado.
- El puerto 443 está bloqueado.
- Otro servicio utiliza esos puertos.
- Se introdujo un dominio incorrecto durante la instalación.
No llega el correo de activación
Revisa que:
- La identidad esté verificada en SES.
- El remitente sea correcto.
- Las credenciales SMTP sean válidas.
- El servidor SMTP corresponda a la misma región.
- La cuenta haya salido del sandbox.
- El destinatario esté verificado durante las pruebas.
La instalación se queda sin memoria
Comprueba que:
- La instancia tenga al menos 2 GB de memoria.
- Se haya creado el archivo swap.
- No haya otros servicios pesados ejecutándose.
- El volumen tenga suficiente espacio libre.
La IP cambió después de reiniciar
Esto ocurre cuando utilizas una IPv4 pública asignada automáticamente.
Asocia una Elastic IP a la instancia y actualiza el registro DNS con esa dirección estable.
¿Conviene instalar Discourse en AWS?
AWS es una buena opción cuando necesitas:
- Control completo de la infraestructura.
- Integración con otros servicios de Amazon.
- Capacidad para ampliar recursos.
- Almacenamiento externo con S3.
- Correo mediante SES.
- Una red configurable.
- Acceso directo al servidor y a Docker.
Sin embargo, una instalación propia también implica administrar:
- Actualizaciones.
- Seguridad.
- Copias de respaldo.
- Supervisión.
- Costes variables.
- Problemas de correo.
- Rendimiento y espacio disponible.
Crear los recursos en AWS no es especialmente difícil, pero una configuración incorrecta puede producir gastos innecesarios, problemas de seguridad o interrupciones del servicio.
Conclusión
Para instalar Discourse en AWS necesitas cuatro elementos principales:
- Una instancia EC2 con Ubuntu.
- Un dominio conectado a una dirección pública.
- Un sistema de correo como Amazon SES.
- Tiempo para mantener y actualizar la instalación.
Una comunidad pequeña puede comenzar con un coste básico de aproximadamente 22–24 USD al mes, sin incluir impuestos, tráfico elevado, almacenamiento externo ni servicios adicionales.
En Foronauta ayudamos a organizaciones y proyectos a instalar, configurar y mantener comunidades basadas en Discourse. También ofrecemos alojamiento administrado para quienes prefieren no ocuparse de AWS, Docker, copias de seguridad y actualizaciones.
¿Tienes tu propio foro alojado en AWS o en otro proveedor? Comparte tu experiencia y cuéntanos qué configuración utilizas.