OperatingEnvironment.md

# Operating Environment

The SwiggyTix application runs on an OpenBSD system. This document provides
some details about that environment.

## User

The service runs as the "swiggytix" user.

## Application Location

1. The web application is loaded to /home/swiggytix/cl-backend
2. The web application runs on port 8443

## Static web resources

1. The front end static resources (spa, etc) are deployed to:
    /var/www/htdocs/tix.sw.gy

## HTTP Server

The service runs as a fastcgi service tied into OpenBSD's httpd (8).

A TLS certificate needs to be setup with Let's Encrypt. If it's good enough
for the OpenBSD project's website, it's good enough for SwiggyTix.

## Persistent Storage

Lightning Memory-Mapped DB (LMDB) is used for the persistent storage layer.
Our use-case is simple: key-value entries for users, authentication,
and interactions.

A sample project exploring LMDB is available at ~gnarled_horn/lmdb-example

## Backups

Full host snap shots are taken every other day with the two most recent
backups being retained. During conferences, this should be changed to daily
backups. Additionally, the persistent data process should be sure to fully
serialize to storage regularly so that backups are persisted.

## Deployments

Deployments should be handled by the Source Hut build support.

## Monitoring