
Deploy diskus
An ultra-lightweight, privacy-first, and self-hosted Disqus alternative
backend
Just deployed
/app/data
frontend
Just deployed
Deploy and Host Diskus on Railway
Diskus is a lightweight, open-source, self-hosted comments system and privacy-respecting Disqus alternative for modern websites, blogs, documentation sites, and web applications. With a small embeddable widget, Shadow DOM CSS isolation, multi-tenant site management, Markdown support, moderation tools, social login, and a centralized admin dashboard, Diskus helps you add fast and modern comments to any website.
About Hosting Diskus
Deploying Diskus on Railway gives you a simple way to host your own open-source comment platform without managing server configuration manually. This Railway template deploys the Diskus Backend API and Dashboard Frontend with pre-configured environment variables, start commands, and persistent storage for SQLite data. After deployment, you can create your first admin account, register a website, generate an App ID, and embed the lightweight Diskus comment widget into your blog, documentation site, or web application. Diskus is built with Bun, Hono, Preact, Drizzle ORM, and SQLite for a fast, minimal, and self-hosted commenting experience.
Common Use Cases
- Add self-hosted comments to blogs, personal websites, documentation sites, and content platforms.
- Replace Disqus or other third-party comment platforms with a lightweight, privacy-respecting alternative.
- Manage comments, moderation, users, and multiple websites from one centralized admin dashboard.
Dependencies for Diskus Hosting
- Bun runtime for running the Diskus backend and application scripts.
- SQLite database with persistent Railway volume storage.
- Railway environment variables for API URL, dashboard origin, JWT secret, and optional integrations.
- Optional SMTP provider for email notifications.
- Optional Google OAuth credentials for social login.
Deployment Dependencies
Implementation Details
After deployment, open the Dashboard URL generated by Railway. On first access, Diskus will show the initial admin setup screen. Create your admin account immediately to secure the deployment.
Typical environment variables used by Diskus include:
JWT_SECRET=your-secure-random-secret
DASHBOARD_ORIGIN=https://your-dashboard-domain
DATABASE_PATH=/app/data/diskus.sqlite
VITE_API_URL=https://your-backend-domain/api/v1
To embed Diskus on your website, register a website from the Dashboard, copy the generated App ID, then add the widget snippet to your page:
<div data-api-url="https://your-backend-domain/api/v1" data-thread-key="your-unique-page-identifier" data-app-id="YOUR_APP_ID" id="diskus-thread">
</div>
The data-thread-key should be unique for each page, such as a blog post slug, article ID, or documentation page path, so comments stay attached to the correct content.
Why Deploy Diskus on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Diskus on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
backend
fadhilbarkah/diskusAPI_URL
REQUIRED for OAuth. The public root URL of your backend API (e.g., https://api.yourdomain.com). This is used to construct the correct redirect callback URLs for Google and GitHub.
JWT_SECRET
A secure, random string used to sign authentication tokens. In production, using a weak default secret will cause the server to refuse to start.
API_BASE_URL
The public URL of your backend API. Used to construct verification links in emails.
DATABASE_PATH
The absolute or relative path to the SQLite database file.
frontend
fadhilbarkah/diskusPORT
The port the backend API listens on.
VITE_API_URL
The base API route the frontend should use. Required during the build step.
