Back to all templates
Discourse logo

Discourse

Application2048MB+ RAM

Modern forum and community platform

forumcommunitydiscussion

Deploy Discourse in 3 Steps

1

Connect Your VPS

Add your server credentials to Server Compass

2

Select Discourse

Choose from our template library

3

Deploy & Configure

Fill in settings and click Deploy

No Docker knowledge required
Step-by-step deployment guide

Deploy Discourse on a VPS with Server Compass

Use the Discourse template in Server Compass to deploy a self-hosted community discussion platform with persistent Discourse, PostgreSQL, and Redis volumes on your VPS, then verify the Discourse web UI in a browser.

About 7 minutesBrowser verified
1
Step 1

Open the server Apps tab

Select your VPS, open the Apps tab, and start a new app deployment. Keep sensitive server details hidden before capturing or sharing screenshots.

Server Compass Apps tab before creating a Discourse app
2
Step 2

Choose an app template

Click New App and choose the template deployment path so Server Compass can load the built-in catalog.

Choosing to deploy an app from a Server Compass template
3
Step 3

Search for Discourse

Use the template picker search to find Discourse in the Server Compass template catalog.

Searching for Discourse in the Server Compass template picker
4
Step 4

Select the Discourse template

Choose the Discourse template. Server Compass fills the Discourse image, host port, published server URL, and persistent Discourse, PostgreSQL, and Redis volumes.

Discourse template selected in Server Compass
5
Step 5

Review the Discourse settings

Confirm the app name and compose services. In this run, the app was named discourse-demo and used host port 3000.

Reviewing Discourse project settings and compose services
6
Step 6

Deploy Discourse

Review the generated environment values, confirm the port is available, and click Deploy Now.

Reviewing Discourse environment variables and port before deployment
7
Step 7

Watch the deployment progress

Keep the deployment modal open while Server Compass uploads the compose file, pulls the Discourse image, starts the container, and verifies the stack.

Server Compass deploying the Discourse template on the VPS
8
Step 8

Confirm Discourse is running

After deployment finishes, return to the Apps tab and confirm the Discourse app is marked Running with its application URL available.

Discourse template running in the Server Compass Apps tab
9
Step 9

Open Discourse in the browser

Open the application URL in a browser. The Discourse web UI confirms the site is reachable.

The deployed Discourse web UI loaded in a browser

After Discourse Opens

  • Configure site settings, email delivery, HTTPS, and administrator access before production use.
  • Configure categories, moderation settings, and outbound email before inviting users.
  • Add a domain and HTTPS before exposing the community forum to users.
  • Back up the Discourse, PostgreSQL, and Redis volumes before relying on the forum for production communities.

Verified Result

The Discourse web UI loaded successfully in a browser.

Discourse deployment questions

What does the Discourse template deploy?

It deploys the Bitnami Discourse stack with Discourse, Sidekiq, PostgreSQL, and Redis services plus persistent application, database, and Redis volumes.

Which port did the tutorial use?

The tutorial used host port 3000, which maps to the Discourse web server on container port 3000.

Why does the guide stop at the first-run web UI?

The tutorial verifies the clean first-run web UI because real library paths, users, metadata providers, and remote access settings depend on the production server.

Should this become a blog post?

No. The deployment guide should live on the Discourse template detail page and be linked from the reusable template deployment docs page.

CLI Deployment

Deploy Discourse Yourself

Want full control? Here's how to deploy Discourse yourself using Docker Compose.

1

Establish SSH Connection

Connect to your remote server using SSH. Make sure you have your server credentials ready.

terminal
# Log into your server
ssh root@<your-server-ip>

# If using key-based auth
ssh -i ~/.ssh/my-key root@<your-server-ip>

First time? Docker not installed? Run: curl -fsSL https://get.docker.com | sh

2

Create Project Directory

Set up a directory to store your Docker configuration.

terminal
# Create and navigate to project directory
mkdir -p ~/apps/discourse
cd ~/apps/discourse
3

Configure Docker Compose

Add this configuration to your docker-compose.yml file:

docker-compose.yml
services:
  discourse:
    image: bitnami/discourse:latest
    ports:
      - "80:3000"
    environment:
      - DISCOURSE_HOST=<your-discourse-host>
      - DISCOURSE_DATABASE_HOST=postgresql
      - DISCOURSE_DATABASE_NAME=discourse
      - DISCOURSE_DATABASE_USER=discourse
      - DISCOURSE_DATABASE_PASSWORD=<your-db-password>
      - DISCOURSE_REDIS_HOST=redis
      - DISCOURSE_USERNAME=admin
      - DISCOURSE_PASSWORD=<your-admin-password>
      - DISCOURSE_EMAIL=<your-admin-email>
    volumes:
      - discourse_data:/bitnami/discourse
    restart: unless-stopped
    depends_on:
      - postgresql
      - redis

  sidekiq:
    image: bitnami/discourse:latest
    command: /opt/bitnami/scripts/discourse-sidekiq/run.sh
    environment:
      - DISCOURSE_HOST=<your-discourse-host>
      - DISCOURSE_DATABASE_HOST=postgresql
      - DISCOURSE_DATABASE_NAME=discourse
      - DISCOURSE_DATABASE_USER=discourse
      - DISCOURSE_DATABASE_PASSWORD=<your-db-password>
      - DISCOURSE_REDIS_HOST=redis
    volumes:
      - discourse_data:/bitnami/discourse
    restart: unless-stopped
    depends_on:
      - discourse

  postgresql:
    image: bitnami/postgresql:16
    environment:
      - POSTGRESQL_USERNAME=discourse
      - POSTGRESQL_PASSWORD=<your-db-password>
      - POSTGRESQL_DATABASE=discourse
    volumes:
      - postgresql_data:/bitnami/postgresql
    restart: unless-stopped

  redis:
    image: bitnami/redis:7.2
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
    volumes:
      - redis_data:/bitnami/redis
    restart: unless-stopped

volumes:
  discourse_data:
  postgresql_data:
  redis_data:
Required Settings
PORTHost port(default: 80)
DISCOURSE_HOSTHostname
ADMIN_USERAdmin user(default: admin)
ADMIN_PASSWORDAdmin password
ADMIN_EMAILAdmin email
DB_PASSWORDDB password
4

Start the Services

Execute the deployment and check the container status.

terminal
# Deploy the application
docker compose up -d

# Check container health
docker compose ps

# Monitor logs
docker compose logs -f --tail=100
5

Allow Incoming Connections

Enable network access by updating your firewall rules.

terminal
# Allow the application port through firewall
sudo ufw allow 80/tcp
sudo ufw reload

# Access your app at:
# http://your-server-ip:80
Skip the Terminal

Too complicated? Let Server Compass handle it.

Skip the terminal and deploy Discourse with a visual interface. Configure everything with clicks, not commands.

  • Intuitive dashboard
  • Deploy in 3 minutes
  • Free SSL included
  • Blue-green deploys
  • Real-time logs
  • Version history
Download Server Compass$29 one-time • Lifetime license

After Deployment

After deploying Discourse with Server Compass, complete these steps to finish setup

1

Wait for app to start (requires working SMTP)

2

Create admin account on first visit

3

Configure site settings

4

Invite users

Need help? Check out our documentation for detailed guides.

Discourse FAQ

Common questions about self-hosting Discourse

How do I deploy Discourse with Server Compass?

Simply download Server Compass, connect to your VPS, and select Discourse from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.

What are the system requirements for Discourse?

Discourse requires a minimum of 2048MB RAM. We recommend a VPS with at least 4096MB RAM for optimal performance. Any modern Linux server with Docker support will work.

Can I migrate my existing Discourse data?

Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Discourse backup and restore procedures.

How do I update Discourse to the latest version?

Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Discourse image will be pulled and deployed with zero downtime.

Is Discourse free to self-host?

Discourse is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.

Ready to Self-Host Discourse?

Download Server Compass and deploy Discourse to your VPS in under 3 minutes. No Docker expertise required.

Download Server Compass