docker-compose.yml
services:
discourse:
image: tiredofit/discourse:latest
container_name: discourse
restart: unless-stopped
ports:
- "3000:3000"
environment:
- DB_HOST=discourse-db
- DB_USER=your_db_user
- DB_PASS=your_db_password
- DB_NAME=your_db_name
- REDIS_HOST=discourse-redis
- ADMIN_EMAIL=admin@example.com
- ADMIN_PASS=change-me-to-a-secure-password
- SITE_URL=http://localhost:3000
volumes:
- ./discourse/data:/data
networks:
- discourse-network
depends_on:
discourse-db:
condition: service_healthy
discourse-redis:
condition: service_started
discourse-db:
image: postgres:16
container_name: discourse_db
restart: unless-stopped
environment:
- POSTGRES_USER=your_db_user
- POSTGRES_PASSWORD=your_db_password
- POSTGRES_DB=your_db_name
volumes:
- ./postgres/data:/var/lib/postgresql/data
networks:
- discourse-network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U your_db_user -d your_db_name"]
interval: 10s
timeout: 5s
retries: 5
discourse-redis:
image: redis:7-alpine
container_name: discourse_redis
restart: unless-stopped
volumes:
- ./redis/data:/data
networks:
- discourse-network
networks:
discourse-network:
driver: bridge
Docker Logs
[root@discourse]# docker-compose logs -f
discourse | 2025-08-30.06:06:18 [INFO] ** [discourse] Migrating Database - This may take a bit..
discourse_db | 2025-08-30 06:06:16.382 UTC [1] LOG: database system is ready to accept connections
discourse_db | 2025-08-30 06:06:29.190 UTC [70] ERROR: relation "translation_overrides" does not exist at character 523
docker-compose.yml
Docker Logs