Skip to main content
oForum is designed to be minimal and easy to self-host. You need just two components: the oForum binary and a PostgreSQL database. That’s it.

Why self-host?

Self-hosting gives you complete control over your forum:
  • Data ownership: Your data stays on your infrastructure
  • Customization: Modify the source code to fit your needs
  • Privacy: No third-party tracking or data collection
  • Cost control: Scale based on your actual usage

Requirements

To run oForum, you need:
  1. oForum binary: Single executable with no external dependencies
  2. PostgreSQL database: Version 12 or higher recommended
That’s all. No JavaScript runtime, no complex dependencies, no configuration files.
DATABASE_URL="postgres://user:pass@host:5432/oforum" oforum
Migrations run automatically on startup, so there’s no separate setup step.

Deployment options

Choose the deployment method that best fits your infrastructure:

Docker

Containerized deployment with Docker or Docker Compose

Fly.io

One-command deployment to Fly.io’s global network

Manual

Direct binary installation on Linux or macOS servers

Comparison

MethodBest forComplexityScalability
DockerDevelopment, testing, simple deploysLowMedium
Fly.ioProduction, global distributionVery lowHigh
ManualFull control, existing infrastructureMediumDepends on setup

Security considerations

Before deploying oForum to production:
Always use SSL/TLS in production. Never expose your forum over plain HTTP.

Essential security practices

1

Use SSL/TLS

Configure HTTPS through a reverse proxy (nginx, Caddy) or your platform’s SSL termination (Fly.io, AWS, etc.)
2

Secure your database

  • Use strong PostgreSQL passwords
  • Restrict database access to your application only
  • Enable SSL connections with sslmode=require in production
3

Keep backups

Regularly backup your PostgreSQL database. Your forum data is only as safe as your backup strategy.
4

Update regularly

Run oforum update periodically to get security patches and new features.

Environment security

  • Never commit .env files or expose DATABASE_URL in logs
  • Use environment variables or secrets management for sensitive data
  • Restrict file permissions: chmod 600 .env
oForum doesn’t collect any telemetry or phone home. Your deployment is completely private.

What’s next?

Choose your deployment method and follow the detailed guide:

Build docs developers (and LLMs) love