...

How to install and run open source feedback portal to gather feature requestsThis article provides a guide for how to install and run open source Feedback Portal to gather feature requests and custom suggestions.

This guide will demonstrate the step-by-step process to deploy your very own self-hosted platform to collect user feedback such as feature requests and customer suggestions.

Overview

We will be deploying a self-hosted open source platform called Fider in this guide. Fider is a feedback portal for feature requests and suggestions.

Prerequisites

This guide requires the following prerequisites:

Launch 100% ssd ubuntu vps from $2. 49/mo!


Compare Ubuntu VPS Plans

KVM-SSD-1
KVM-SSD-8
KVM-SSD-16
KVM-SSD-32
CPU
1 Core
2 Cores
4 Cores
8 Cores
Memory
1 GB
8 GB
16 GB
32 GB
Storage
16 GB NVMe
128 GB NVMe
256 GB NVMe
512 GB NVMe
Bandwidth
1 TB
4 TB
8 TB
16 TB
Network
1 Gbps
1 Gbps
1 Gbps
1 Gbps
Delivery Time
⏱️ Instant
⏱️ Instant
⏱️ Instant
⏱️ Instant
Location
US/FR
US/FR
US/FR
US/FR
Price
$7.58*
$39.50*
$79.40*
$151.22*
KVM-SSD-1
CPU: 1 Core
Memory: 2 GB
Storage: 16 GB NVMe
1 TB
KVM-SSD-8
CPU: 2 Cores
Memory: 8 GB
Storage: 128 GB NVMe
4 TB
KVM-SSD-16
CPU: 4 Cores
Memory: 16 GB
Storage: 256 GB NVMe
8 TB
KVM-SSD-32
CPU: 8 Cores
Memory: 32 GB
Storage: 512 GB NVMe
16 TB

Install and Run Open Source Feedback Portal (Self-hosted)

Follow the steps below to install Fider dependencies on your Ubuntu VPS server:

How to Install Docker, Docker Compose, PostgreSQL 12, and Mailhog on an Ubuntu VPS

To install Docker, Docker Compose, PostgreSQL 12, and Mailhog on an Ubuntu VPS, follow the steps below:

  1. Update and Upgrade the System

    First, access your server via SSH and update your package index and upgrade your system packages to their latest versions.

    sudo apt update
    sudo apt upgrade -y
    
  2. Install Docker

    Docker is a platform that enables you to create, deploy, and run applications in containers. Here’s how to install it:

    1. Install required packages:
      sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
      
    2. Add Docker’s official GPG key:
      curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
      
    3. Set up the stable repository:
      echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
      
    4. Install Docker Engine:
      sudo apt update
      sudo apt install docker-ce docker-ce-cli containerd.io -y
      
    5. Start and enable Docker:
      sudo systemctl start docker
      sudo systemctl enable docker
      
    6. Verify the installation:
      sudo docker run hello-world
      
  3. Install Docker Compose

    Docker Compose is a tool for defining and running multi-container Docker applications. Follow these steps to install it:

    1. Download the Docker Compose binary:
      sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")')/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
      
    2. Apply executable permissions to the binary:
      sudo chmod +x /usr/local/bin/docker-compose
      
    3. Verify the installation:
      docker-compose --version
      
  4. Install PostgreSQL 12

    PostgreSQL is a powerful, open-source object-relational database system. Here’s how to install PostgreSQL 12:

    1. Add the PostgreSQL repository:
      sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
      
    2. Import the repository signing key:
      wget -qO - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
      
    3. Update the package list:
      sudo apt update
      
    4. Install PostgreSQL 12:
      sudo apt install postgresql-12 -y
      
    5. Start and enable PostgreSQL:
      sudo systemctl start postgresql
      sudo systemctl enable postgresql
      
    6. Switch to the PostgreSQL prompt:
      sudo -i -u postgres
      psql
      
    7. Exit the PostgreSQL prompt:
      \q
      exit
      
  5. Install MailHog

    MailHog is an email testing tool for developers. It catches emails sent to it and provides a web interface to view them.

    1. Download MailHog:
      wget https://github.com/mailhog/MailHog/releases/download/v1.0.0/MailHog_linux_amd64
      
    2. Make the binary executable:
      chmod +x MailHog_linux_amd64
      
    3. Move the binary to a directory in your PATH:
      sudo mv MailHog_linux_amd64 /usr/local/bin/mailhog
      
    4. Create a systemd service file for MailHog:
      sudo nano /etc/systemd/system/mailhog.service
      

      Add the following content to the file:

      [Unit]
      Description=MailHog service
      After=network.target
      
      [Service]
      User=ubuntu
      ExecStart=/usr/local/bin/mailhog
      
      [Install]
      WantedBy=multi-user.target
      
    5. Start and enable MailHog:
      sudo systemctl start mailhog
      sudo systemctl enable mailhog
      
    6. Access MailHog’s web interface:
      Open your browser and go to http://<your-vps-ip>:8025.

You have now installed Docker, Docker Compose, PostgreSQL 12, and MailHog on your Ubuntu VPS.

Now you are ready to begin installing the Fider platform.

Installing and Running

  1. Create a docker compose file

    Create a /var/fider folder and copy content below into a file /var/fider/docker-compose.yml. Read the inline comments to know what each setting is used for and modify them appropriately.

    version: '2'
    services:
      db:
        restart: always
        image: postgres:12
        volumes:
          - /var/fider/pg_data:/var/lib/postgresql/data
        environment:
          POSTGRES_USER: fider
          POSTGRES_PASSWORD: s0m3g00dp4ssw0rd
      app:
        restart: always
        image: getfider/fider:stable
        ports:
          - "80:3000"
        environment:
          # Public Host Name
          BASE_URL: http://localhost
    
          # Connection string to the PostgreSQL database
          DATABASE_URL: postgres://fider:s0m3g00dp4ssw0rd@db:5432/fider?sslmode=disable
    
          # Generate a 512-bit secret here https://www.allkeysgenerator.com/Random/Security-Encryption-Key-Generator.aspx
          JWT_SECRET: VERY_STRONG_SECRET_SHOULD_BE_USED_HERE
    
          # From which account e-mails will be sent
          EMAIL_NOREPLY: noreply@yourdomain.com
    
          ###
          # EMAIL
          # Either EMAIL_MAILGUN_* or EMAIL_SMTP_* or EMAIL_AWSSES_* is required
          ###
    
          # EMAIL_MAILGUN_API: key-yourkeygoeshere
          # EMAIL_MAILGUN_DOMAIN: yourdomain.com
          # EMAIL_MAILGUN_REGION: US
    
          # EMAIL_SMTP_HOST: smtp.yourdomain.com
          # EMAIL_SMTP_PORT: 587
          # EMAIL_SMTP_USERNAME: user@yourdomain.com
          # EMAIL_SMTP_PASSWORD: s0m3p4ssw0rd
          # EMAIL_SMTP_ENABLE_STARTTLS: 'true'
    
          # EMAIL_AWSSES_REGION: us-east-1
          # EMAIL_AWSSES_ACCESS_KEY_ID: youraccesskeygoeshere
          # EMAIL_AWSSES_SECRET_ACCESS_KEY: yoursecretkeygoeshere
    

    The Docker Compose file above defines two services: db and app. In case you’re using an external Postgres database, remove the db service and replace DATABASE_URL environment variable with your connection string.

  2. Pull the images and run it

    Open your favorite terminal, navigate to /var/fider and run

    docker compose pull
    docker compose up -d
    

    Important! If you see messages like Error: dial tcp <ip-address>:5432: connect: connection refused. Don’t panic, that’s expected when using PostgreSQL in Docker. That happens when the application starts before the database is still ready.

    You can find the logs by using docker-compose logs app. The message http server started on :3000 means everything is ok and you’re ready to go.

    Just open your favorite browser and navigate to http://<vps_ip_address>. You should see a page like the following.

    Fider clean install
    Installation page of a clean Fider instance

Use MailHog SMTP Server

You need a valid SMTP server to start the application, or you will see panic: could not find environment variable named 'EMAIL_SMTP_HOST' errors.

Since we have already installed MailHog, we have covered our SMTP server bases, so to speak. The next step is to add a new service to your docker-composer.yml, and configure it:

  app:
    environment:
      # use this EMAIL config:
      EMAIL_SMTP_HOST: mailhog
      EMAIL_SMTP_PORT: 1025

  # add this service:
  mailhog:
    image: mailhog/mailhog
    restart: always
    ports:
      - "8025:8025"

Then restart docker compose. You can now browse to http://<vps_ip_address>:8025 and read mails sent by Fider, especially the sign-in link.

Secure Fider with HTTPS

Automatic HTTPS with Let’s Encrypt

Fider integrates with Let’s Encrypt natively, so you can have TLS without installing anything else or buying your own certificate.

To enable it:

  1. Ensure your app is NOT behind a proxy.
  2. Add the SSL_AUTO to your docker-compose.yml
  3. Restart your application.
version: '2'
services:
  db:
    ...
  app:
    ports:
      - "80:80"
      - "443:3000"
    environment:
      ...
      SSL_AUTO: "true"

It can take a few seconds on the initial request to generate a certificate, but after visiting your site, you’ll should see the green lock and the certificate generated for you.

NOTE: You must enable firewall access on port 80 and 443. Fider will redirect all traffic from HTTP to HTTPS.

F.A.Q.

I have submitted the installation form, but I haven’t got any confirmation email

Start with your Spam folder, it shouldn’t be there, but just be sure about that first. If not, it’s highly likely that you either input the wrong email or your email configurations are invalid. When this happens, you’ll notice that you can’t fill in that form again as you’ll be presented with a 404 page. This page will only go away when you click the confirmation link that Fider sends.

To solve this you’ll need to log into your Postgres Database and run TRUNCATE TABLE tenants RESTART IDENTITY CASCADE;. This command will purge all the data from Fider, thus making the installation page available again. You may now change your email configurations and try again. You can repeat this as much as you need.

Launch 100% ssd ubuntu vps from $2. 49/mo!

Conclusion

You now know how to install and run open source feedback portal to gather feature requests and customer suggestions.

Resource: https://fider.io/docs

Avatar of editorial staff

Editorial Staff

Rad Web Hosting is a leading provider of web hosting, Cloud VPS, and Dedicated Servers in Dallas, TX.
lg