Avatar of Faraz PatankarFaraz Patankar

Deploy Cusdis on Railway

Cusdis is a privacy-first, open-source, and lightweight (~5kb gzipped) comment system. You can think of it as a self-hosted alternative to Disqus that does not track you or your users. It also comes with a dashboard for moderating comments, email notifications, and webhook support for staying up-to-date with new comments on your blog or website.

At Railway, we provide a free one-click deploy for Cusdis using a PostgreSQL database which we automagically provision for you.

https://railway.app/new/template?template=https%3A%2F%2Fgithub.com%2Fdjyde%2Fcusdis&plugins=postgresql&envs=NEXTAUTH_URL%2CDB_TYPE%2CDB_URL%2CUSERNAME%2CPASSWORD%2CHOST%2CJWT_SECRET%2CPORT&NEXTAUTH_URLDesc=Don't+modify+it&DB_TYPEDesc=Don't+modify+it&DB_URLDesc=Don't+modify+it&USERNAMEDesc=Username+to+sign+in&PASSWORDDesc=Password+to+sign+in&HOSTDesc=Don't+modify+it&JWT_SECRETDesc=A+secret+key+to+encrypt+JWT+token&PORTDesc=Don't+modify+it&NEXTAUTH_URLDefault=%24{{+RAILWAY_STATIC_URL+}}&DB_TYPEDefault=pgsql&DB_URLDefault=%24{{+DATABASE_URL+}}&HOSTDefault=https%3A%2F%2F%24{{+RAILWAY_STATIC_URL+}}&PORTDefault=3000&referralCode=randyloop

To deploy your Cusdis instance on Railway, simply click the button above (source code), enter the prompted environment variables and hit deploy. The required PostgreSQL database will be automagically provisioned and the required database migrations will be run for you.

Default environment variables (do not change these):

  • NEXTAUTH_URL: This has already been set for you as ${{ RAILWAY_STATIC_URL }} using our template variables. What this been is that it'll be set to the URL for your deployment.
  • DB_TYPE: Already set to pgsql.
  • DB_URL: Already set using template variables to ${{ DATABASE_URL }}.
  • PORT: This value is already set for you to 3000 as 3000 is the default port for Cusdis.

Additional required environment variables:

  • USERNAME: The username you'd like to use to log in to the Cusdis dashboard.
  • PASSWORD: The password you'd like to use to log in to the Cusdis dashboard.
  • JWT_SECRET: To sign JWTs.
💡
Pro-tip: You can hit CMD+K on the dashboard and use our secret generator.

Once you've added all the variables and hit the deploy button, a PostgreSQL database will be automagically provisioned for you and you should be able to use your Cusdis instance!

Cusdis dashboard

Cusdis dashboard

Once your Cusdis instance is live, you can create projects for your websites and add commenting functionality to them!

And with that, you should have all the information you need to deploy your own Cusdis instance on Railway! You should be able to create new projects and add the comments widget to your websites.

If you have any suggestions for more open-source self-hosted solutions you'd like to see guides for, let us know on Discord. Or even better, submit a pull request to our starters repository on Github!