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:- oForum binary: Single executable with no external dependencies
- PostgreSQL database: Version 12 or higher recommended
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
| Method | Best for | Complexity | Scalability |
|---|---|---|---|
| Docker | Development, testing, simple deploys | Low | Medium |
| Fly.io | Production, global distribution | Very low | High |
| Manual | Full control, existing infrastructure | Medium | Depends on setup |
Security considerations
Before deploying oForum to production:Essential security practices
Use SSL/TLS
Configure HTTPS through a reverse proxy (nginx, Caddy) or your platform’s SSL termination (Fly.io, AWS, etc.)
Secure your database
- Use strong PostgreSQL passwords
- Restrict database access to your application only
- Enable SSL connections with
sslmode=requirein production
Keep backups
Regularly backup your PostgreSQL database. Your forum data is only as safe as your backup strategy.
Environment security
- Never commit
.envfiles or exposeDATABASE_URLin 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:- Docker deployment - Quick setup with containers
- Fly.io deployment - Managed platform deployment
- Manual deployment - Traditional server setup
- Environment variables - Configuration reference