Home > Docs > adyxax.org > eventline > Installation
Installation notes of eventline.adyxax.org on FreeBSD
Tags: Eventline FreeBSD PostgreSQL

Introduction

Please refer to the official website documentation for an up to date installation guide. This page only lists what I had to do at the time to setup eventline and adapt it to my particular setup.

Preparing the postgresql database

A Postgresql database version 14 or above is the only dependency, let’s install it:

pkg install postgresql14-server postgresql14-contrib
/usr/local/etc/rc.d/postgresql enable
/usr/local/etc/rc.d/postgresql initdb
/usr/local/etc/rc.d/postgresql start

Now let’s provision a database:

su - postgres
createuser -W eventline
createdb -O eventline eventline

Connect to the database and activate the pgcryto extension:

psql -U eventline -W eventline
CREATE EXTENSION pgcrypto;

Eventline

Exograd (the company behind eventline) maintains a FreeBSD repository, let’s use it:

curl -sSfL -o /usr/local/etc/pkg/repos/exograd-public.conf \
     https://pkg.exograd.com/public/freebsd/exograd.conf
pkg update
pkg install eventline

Edit the /usr/local/etc/eventline/eventline.yaml configuration file:

data_directory: "/usr/local/share/eventline"

api_http_server:
  address: "localhost:8085"

web_http_server:
  address: "localhost:8087"

web_http_server_uri: "http://localhost:8087"

pg:
  uri:
    "postgres://eventline:XXXXXXXX@localhost:5432/eventline"

# You need to generate a random encryption, for example using OpenSSL:
# openssl rand -base64 32
encryption_key: "YYYYYYYY"

Now start eventline with:

service eventline enable
service eventline start

DNS record

Since all configuration regarding this application is in terraform, so is the dns:

resource "cloudflare_record" "eventline-cname" {
  zone_id = lookup(data.cloudflare_zones.adyxax-org.zones[0], "id")
  name    = "eventline"
  value   = "10.1.2.5"
  type    = "A"
  proxied = false
}

This IP is the wireguard endpoint on the server hosting eventline. Having this hostname is important for the ssl certificate validation, otherwise firefox will complain!

Nginx configuration for the webui

This nginx configuration listens on a wireguard interface:

server {
        listen  10.1.2.5:80;
        server_name  eventline.adyxax.org;
        location / {
                return 308 https://$server_name$request_uri;
        }
}
# webui
server {
        listen  10.1.2.5:443 ssl;
        server_name  eventline.adyxax.org;

        location / {
                proxy_pass  http://127.0.0.1:8087;
                include headers_secure.conf;
        }
        ssl_certificate      adyxax.org.fullchain;
        ssl_certificate_key  adyxax.org.key;
}
# api-server
server {
        listen  10.1.2.5:8085 ssl;
        server_name  eventline.adyxax.org;

        location / {
                proxy_pass  http://127.0.0.1:8085;
                include headers_secure.conf;
        }
        ssl_certificate      adyxax.org.fullchain;
        ssl_certificate_key  adyxax.org.key;
}

Admin account’s password

Go to the domain you configured (https://eventline.adyxax.org/ for me) and login to your new eventline with username admin and password admin. Then go to Account and click Change password.