Hosting your own instance

A one minute guide on how to get your own Fider instance up and running.

Prerequisites

We highly recommend using Docker to host the application. It's the easiest and fastest way to get started and stay up to date with any future release.

You'll also need:

  • PostgreSQL 9.6 Database

    This tutorial uses a Docker PostgreSQL image for the sake of simplicity.

  • E-mail sender service:

    You can choose to use either a SMTP Server or a Mailgun account.

Installing and Running

Step 1: Create a docker compose file

Create a file named docker-compose.yml and copy content below. Read the comments to know what each settings is used for.

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

The application service loads the latest stable version from our public Docker repository.

version: '2'
services:
  db:
    restart: always
    image: postgres:9.6
    environment:
      POSTGRES_USER: fider
      POSTGRES_PASSWORD: s0m3g00dp4ssw0rd

  app:
    restart: always
    image: getfider/fider:stable
    ports:
      - "9999:8080"
    environment:
      PORT: 8080

      # Use production for best performance or development for more verbose logging
      GO_ENV: production
      
      # Connection string to the PostgreSQL database. 
      # This example uses the Docker service defined above
      DATABASE_URL: postgres://fider:s0m3g00dp4ssw0rd@db:5432/fider?sslmode=disable
      
      # CHANGE THIS! You can generate a strong secret at https://randomkeygen.com/
      JWT_SECRET: tXQhvSMWMS11qZ9euEhE6lf2ferf0FR6RYGd8iMXiTxxXtJ1XDVdTXPaLtV12ZGp
      
      # From which account e-mails will be sent
      NOREPLY_EMAIL: noreply@yourdomain.com

      ###
      # E-MAIL
      #
      # Either MAILGUN_* or SMTP_* is required
      ###

      # MAILGUN_API: key-yourkeygoeshere
      # MAILGUN_DOMAIN: yourdomain.com

      # SMTP_HOST=smtp.yourdomain.com
      # SMTP_PORT=587
      # SMTP_USERNAME=user@yourdomain.com
      # SMTP_PASSWORD=s0m3p4ssw0rd
      
      ###
      # OPTIONAL
      #
      # Following settings are optional
      ###

      # Social OAuth: Read more about http://getfider.com/docs/configuring-oauth/

      # Facebook
      # OAUTH_FACEBOOK_APPID: <fb_app_id>
      # OAUTH_FACEBOOK_SECRET: <fb_app_secret>

      # Google
      # OAUTH_GOOGLE_CLIENTID: <google_app_id>
      # OAUTH_GOOGLE_SECRET: <google_app_secret>

      # GitHub
      # OAUTH_GITHUB_CLIENTID: <github_client_id>
      # OAUTH_GITHUB_SECRET: <github_secret>

    depends_on:
      - db
Step 2: Pull the images and run it

Open your favorite terminal, navigate to the folder in which you create file above and run following command.

$ docker-compose pull
$ docker-compose up

Important! If you see messages like Error: dial tcp 172.19.0.2:5432: getsockopt: connection refused. Don't panic, that's expected when using a docker PostgreSQL. That might happen because the application is trying to start while the database is still initializing.

The message http server started on [::]:8080 means everything went well and you're ready to go.

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

Installation page of a clean Fider instance