aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Dessaux2022-09-19 23:17:35 +0200
committerJulien Dessaux2022-09-19 23:17:35 +0200
commit93be78cf2cc43ea7d0b97a52ee285e4e455b2cfe (patch)
treeeef03c8be4d29b67811b8392211ab5b8d1425a7f
parentAdded eventline docs section (diff)
downloadwww-93be78cf2cc43ea7d0b97a52ee285e4e455b2cfe.tar.gz
www-93be78cf2cc43ea7d0b97a52ee285e4e455b2cfe.tar.bz2
www-93be78cf2cc43ea7d0b97a52ee285e4e455b2cfe.zip
Added eventline installation doc
-rw-r--r--content/docs/adyxax.org/eventline/install.md128
1 files changed, 128 insertions, 0 deletions
diff --git a/content/docs/adyxax.org/eventline/install.md b/content/docs/adyxax.org/eventline/install.md
new file mode 100644
index 0000000..941ce14
--- /dev/null
+++ b/content/docs/adyxax.org/eventline/install.md
@@ -0,0 +1,128 @@
+---
+title: "Installation"
+description: Installation notes of eventline.adyxax.org on FreeBSD
+tags:
+- Eventline
+- FreeBSD
+- PostgreSQL
+---
+
+## Introduction
+
+Please refer to [the official website](https://www.exograd.com/doc/eventline/handbook.html#_deployment_and_configuration) 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:
+```sh
+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:
+```sh
+su - postgres
+createuser -W eventline
+createdb -O eventline eventline
+```
+
+Connect to the database and activate the pgcryto extension:
+```sql
+psql -U eventline -W eventline
+CREATE EXTENSION pgcrypto;
+```
+
+## Eventline
+
+Exograd (the company behind eventline) maintains a FreeBSD repository, let's use it:
+```sh
+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:
+```yaml
+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:
+```sh
+service eventline enable
+service eventline start
+```
+
+## DNS record
+
+Since all configuration regarding this application is in terraform, so is the dns:
+```hcl
+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:
+```cfg
+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`.