Railway

Deploy Fider

Canny Alternative. Open platform to collect and prioritize feedback

Deploy Fider

Just deployed

/data

Just deployed

/var/lib/postgresql/data

fider-storage

Bucket

Just deployed

Fider logo

Deploy and Host Fider on Railway

Fider is an open-source customer feedback board: users post ideas, vote on the ones they want and discuss them in comments, while your team replies with a status that becomes a public roadmap. It is the self-hosted answer to Canny, UserVoice and Nolt — no per-tracked-user bill, and every vote, email address and comment stays in your own database.

Self-host Fider on Railway and four pieces arrive wired together. The fider service runs the official getfider/fider:stable image on port 3000 behind a managed TLS domain, applying database migrations on every boot. PostgreSQL holds posts, votes, comments and users; a managed object storage bucket keeps avatars, logos and attachments off the container filesystem so they survive redeploys. The fourth service is Mailpit: Fider has no passwords at all, so sign-in and the first administrator both depend on email working from minute one.

Fider Railway architecture

Getting Started with Fider on Railway

Open the Fider URL once the deploy is green and you land on a signup form, not a login page, because no board exists yet. Enter your name, your email address and a name for the board and submit — Fider creates the board in a pending state and emails an activation link. Open the Mailpit URL from the same project and sign in with the MP_UI_AUTH credentials on the mailpit service's variables; the username is admin. The message titled "Your new Fider site" is waiting there, and its confirmation link activates the board and signs you in as its administrator. Under Site Settings → General, set the board title, welcome message and privacy mode — and note that new boards ship with "prevent indexing" on, so Fider sends X-Robots-Tag: noindex until you clear it, which matters for a searchable public board. Then post your first few ideas, vote on one, and give another a status such as Planned with a staff response — statuses populate the public roadmap. If the activation email arrived and a comment attachment uploads, all four services are healthy.

Fider feedback board listing three customer feature requests Fider discussion thread with an uploaded dashboard mockup Fider post marked Planned with vote count and voters

About Hosting Fider

Canny and UserVoice price by tracked user, so the month your board takes off is the month the invoice does too. Fider has no seat count. Self-hosting is also the only option when the feedback is sensitive: healthcare, finance and public-sector teams often cannot put customer names and unreleased plans into SaaS.

  • Voting boards with discussion — posts, upvotes, comments, tags, duplicate merging and search.
  • Statuses that publish a roadmap — mark a post Planned, Started, Completed or Declined with a staff response, and every voter is notified.
  • Passwordless sign-in — a one-time email link, or Google, GitHub and Facebook OAuth.
  • Public or private boards, a localised UI, and custom CSS.

Fider has no worker tier: email and webhooks run as goroutines inside the web process, so these four services are the whole production shape.

Why Deploy Fider on Railway

Everything Fider needs is provisioned and connected before first boot:

  • PostgreSQL, an object storage bucket and a mail service, wired to the app.
  • A TLS domain and health checks out of the box.
  • The database stays private, unreachable from the internet.
  • BASE_URL, S3 credentials and SMTP settings filled in as service references.
  • Scaling is a slider, and the Go binary idles cheaply.

Common Use Cases

  • A public feature-request board for a SaaS product — customers vote, and the roadmap answers "are you building this?" without a support reply.
  • An internal ideas board, kept private so only signed-in staff can read and vote.
  • A community roadmap for an open-source project, where vote counts pick the next release.
  • A beta feedback channel, with attachments so testers paste screenshots in.

Dependencies for Fider

  • Fidergetfider/fider:stable on port 3000. Docker Hub has no latest tag; stable is the release channel.
  • PostgreSQL 12 or newer — every post, vote, comment and setting. Fider runs ./fider migrate at boot and creates the pg_trgm extension for search.
  • Object storage bucket — S3-compatible storage selected with BLOB_STORAGE=s3, holding avatars, logos and attachments that would otherwise vanish on redeploy.
  • Mailpitaxllent/mailpit:latest, an SMTP listener on 1025 and a protected web inbox on 8025, archived on a volume.

Environment Variables Reference

VariablePurpose
BASE_URLPublic URL written into sign-in emails
JWT_SECRETSigns sign-in tokens; changing it drops sessions
EMAILDelivery driver — smtp, mailgun or awsses
EMAIL_SMTP_HOST / _PORTSMTP endpoint; required to start
BLOB_STORAGEs3 for the bucket, fs for disk, sql for the database
SIGNUP_DISABLEDBlocks /signup; leave false until the first admin exists
LOG_SQLFider defaults it to true; keep it false
MP_UI_AUTHuser:password protecting the Mailpit inbox

Deployment Dependencies

Hardware Requirements for Self-Hosting Fider

ResourceMinimumRecommended
CPU0.5 vCPU1–2 vCPU
RAM256 MB512 MB – 1 GB
StorageNone on the app1 GB+ Postgres; bucket grows with uploads
RuntimeLinux containerLinux container

Fider is a single compiled Go binary serving a pre-built React front end, so a board with a few thousand voters sits in half a gigabyte.

Self-Hosting Fider with Docker

Fider will not start unless EMAIL_SMTP_HOST and EMAIL_SMTP_PORT are set. A minimal run against an existing Postgres:

docker run -p 3000:3000 \
  -e BASE_URL=http://localhost:3000 -e EMAIL_NOREPLY=noreply@example.com \
  -e DATABASE_URL=postgres://fider:pw@db:5432/fider?sslmode=disable \
  -e JWT_SECRET=$(openssl rand -hex 32) \
  -e EMAIL_SMTP_HOST=mailpit -e EMAIL_SMTP_PORT=1025 getfider/fider:stable

The same stack as Compose:

services:
  db:
    image: postgres:17
    environment: { POSTGRES_USER: fider, POSTGRES_PASSWORD: pw }
  mailpit:
    image: axllent/mailpit:latest
    ports: ["8025:8025"]
  app:
    image: getfider/fider:stable
    ports: ["3000:3000"]
    environment:
      BASE_URL: http://localhost:3000
      DATABASE_URL: postgres://fider:pw@db:5432/fider?sslmode=disable
      JWT_SECRET: use-a-long-random-string
      EMAIL_NOREPLY: noreply@example.com
      EMAIL_SMTP_HOST: mailpit
      EMAIL_SMTP_PORT: 1025

Sending Real Email from Self-Hosted Fider

Because Fider signs people in with one-time links, email is the login system. This template delivers to Mailpit, ideal for creating the first administrator, but that mail never leaves your project. The smallest production change turns Mailpit into a relay: set MP_SMTP_RELAY_HOST, _PORT, _USERNAME, _PASSWORD and _STARTTLS for SendGrid, Postmark, Amazon SES or Mailgun, then add MP_SMTP_RELAY_ALL=true so every message is forwarded and a searchable copy stays behind. Alternatively point EMAIL_SMTP_* at your provider, or switch drivers with EMAIL=mailgun or EMAIL=awsses. Leave SIGNUP_DISABLED unset until your administrator exists: it 404s /signup.

How Much Does Fider Cost to Self-Host?

Fider is free and open source under AGPL-3.0 — no seat limits, no tracked-user meter, no roadmap feature behind a paid tier. Self-hosting costs only infrastructure: the container, a PostgreSQL database, a small mail service and object storage billed on usage.

FAQ

What is Fider? An open-source feedback portal where customers post ideas, vote and discuss them while the team replies with statuses that build a public roadmap. Written in Go and React, licensed AGPL-3.0, it is the best-known self-hosted alternative to Canny, UserVoice and Nolt.

What does this Railway template deploy? The Fider app from getfider/fider:stable on a public TLS domain, a managed PostgreSQL database, an object storage bucket for uploads, and Mailpit as the mail service with a protected web inbox.

How do I create the first admin user in self-hosted Fider? Fill in the signup form on the deployed URL, then click the activation link in the "Your new Fider site" email waiting in the Mailpit inbox. Fider ships no default credentials.

Why does this template include a database and object storage? PostgreSQL stores every post, vote, comment and account, and Fider migrates it at boot. Object storage matters on ephemeral containers: with BLOB_STORAGE=s3, uploads survive every redeploy.

How do I enable Google or GitHub sign-in in self-hosted Fider? Set OAUTH_GOOGLE_CLIENTID and OAUTH_GOOGLE_SECRET, or the GitHub and Facebook equivalents, and those buttons appear next to the email link.

Which Fider image tag should I pin? Use stable — Docker Hub publishes no latest tag for getfider/fider, so a Compose file asking for latest fails to pull.


Template Content

More templates in this category

View Template
Rocky Linux
[Jul'26] Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
42
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
51