[READ-ONLY] Mirror of https://github.com/agbocsardi/waffle-app.
README.md

systemd Service Examples #

These units run the Waffle server and its daily backup on a Linux host.

Layout #

/opt/waffle/
  waffle-server    # go build -o waffle-server ./cmd/server
  waffle-backup    # go build -o waffle-backup ./cmd/backup
  web/             # static frontend files

/etc/waffle/env    # environment variables

/var/lib/waffle/
  waffle.db
  videos/
  backups/

Environment file #

Create /etc/waffle/env with the production variables:

WAFFLE_ADDR=127.0.0.1:8080
WAFFLE_DB=/var/lib/waffle/waffle.db
WAFFLE_VIDEOS_DIR=/var/lib/waffle/videos
WAFFLE_PUBLIC_URL=https://waffle.example.com
WAFFLE_SECURE_COOKIES=true
WAFFLE_BACKUP_DIR=/var/lib/waffle/backups
WAFFLE_BACKUP_RETENTION=7

Set permissions:

sudo chmod 600 /etc/waffle/env
sudo chown root:waffle /etc/waffle/env

Install #

sudo cp waffle.service waffle-backup.service waffle-backup.timer /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now waffle
sudo systemctl enable --now waffle-backup.timer

Check status:

sudo systemctl status waffle
sudo systemctl list-timers waffle-backup.timer

Run a backup manually:

sudo systemctl start waffle-backup
sudo journalctl -u waffle-backup