Setup & Configuration
We need to install the service through Portainer and configure any necessary settings.
Preparation
There are some things we need to do in preparation to install this service.
Volumes
Persistent Data
This is where the service will store its own application data and ensures we can quickly update the service image.
Ensure your user has permissions to access the folder.
Environment
DB_USER
This is the user name that will be used behind the scenes to log into the database.
For example: fider_admin
BASE_URL
This is the URL that the service will be hosted and accessible through.
For example: fider.example.com
EMAIL_NOREPLY
This is the email address that will be attached to email notifications and should not be replied to because the inbox is not monitored or is non existent.
For example: noreply@fider.example.com
EMAIL_SMTP_HOST
This is the host address of your email server.
For example: smtp.gmail.com
EMAIL_SMTP_PORT
This is the port used by your email server.
For example: 587
EMAIL_SMTP_USERNAME
This is the account user name used by your email server.
For example: example@gmail.com
EMAIL_SMTP_ENABLE_STARTTLS
This enables StartTLS, which is used by the email server to upgrade insecure connections to one using TLS or SSL.
Recommended: true
Passwords
Keep these securely stored in a password manager, such as VaultWarden.
DB_PASS
This is the password that will be used for root access to the database.
It is important to use secure, randomly generated password.
You can use a random alphanumeric string from a password manager, or open the terminal and run the command:
tr -dc 'A-Za-z0-9!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' </dev/urandom | head -c 32; echo
This pulls a random string from the 'urandom' device, removes unwanted characters and trim it to an appropriate length.
JWT_SECRET
This is the secret that will be used for validating users who are logged into the service.
It is important to use secure, randomly generated token.
You can use a random alphanumeric string from a password manager, or open the terminal and run the command:
tr -dc 'A-Za-z0-9!' </dev/urandom | head -c 32; echo
This pulls a random string from the 'urandom' device, removes unwanted characters and trim it to an appropriate length.
EMAIL_SMTP_PASSWORD
This is the password for logging into your email account for sending administrative notifications.
When possible, you should use app passwords.
Installation
The service can be installed through the Portainer web interface.
Learn about creating a new stack.
Docker Compose
Use the following code to install the service:
---
services:
db:
restart: always
image: postgres:12
volumes:
- /srv/fider/db:/var/lib/postgresql/data
environment:
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASS}
fider:
restart: always
image: getfider/fider:stable
ports:
- "3380:3000"
environment:
BASE_URL: ${BASE_URL}
DATABASE_URL: ${DB_URL}
JWT_SECRET: ${JWT_SECRET}
EMAIL_NOREPLY: ${EMAIL_NOREPLY}
EMAIL_SMTP_HOST: ${EMAIL_SMTP_HOST}
EMAIL_SMTP_PORT: ${EMAIL_SMTP_PORT}
EMAIL_SMTP_USERNAME: ${EMAIL_SMTP_USERNAME}
EMAIL_SMTP_PASSWORD: ${EMAIL_SMTP_PASSWORD}
EMAIL_SMTP_ENABLE_STARTTLS: ${EMAIL_SMTP_ENABLE_STARTTLS}
Environment
Use the following environment to configure the service using the values prepared earlier:
DB_USER=
DB_PASS=
BASE_URL=
DATABASE_URL=postgres://fider:${DB_PASS}@db:5432/fider?sslmode=disable
JWT_SECRET=
EMAIL_NOREPLY=
EMAIL_SMTP_HOST=
EMAIL_SMTP_PORT=
EMAIL_SMTP_USERNAME=
EMAIL_SMTP_PASSWORD=
EMAIL_SMTP_ENABLE_STARTTLS=
Updating
Backup and Re-Deploy the Stack
This service has been optimized for running in Docker.
This allows you to re-deploy the stack through Portainer to download the latest updates.
It is highly recommended that you manual backup data before installing any updates in the event that there are upgrade errors.