diff --git a/contrib/README b/contrib/README new file mode 100644 index 0000000..522ba43 --- /dev/null +++ b/contrib/README @@ -0,0 +1 @@ +These are sample unit files to run the tumble application via Flox. diff --git a/contrib/tumble-db.service b/contrib/tumble-db.service new file mode 100644 index 0000000..8efe4a3 --- /dev/null +++ b/contrib/tumble-db.service @@ -0,0 +1,21 @@ +[Unit] +Description=Tumble MySQL (via Flox) +After=network.target + +[Service] +Type=simple +User=tumble +Group=tumble +WorkingDirectory=/srv/tumble/mysql +ExecStart=/usr/bin/flox activate --start-services -- sleep infinity +ExecStop=/usr/bin/flox services stop +Restart=on-failure +RestartSec=5 + +Environment=HOME=/srv/tumble + +PrivateTmp=true +NoNewPrivileges=true + +[Install] +WantedBy=multi-user.target diff --git a/contrib/tumble.service b/contrib/tumble.service new file mode 100644 index 0000000..f55f624 --- /dev/null +++ b/contrib/tumble.service @@ -0,0 +1,24 @@ +[Unit] +Description=Tumble Web Application +After=network.target tumble-db.service +Wants=tumble-db.service + +[Service] +Type=simple +User=tumble +Group=tumble +WorkingDirectory=/srv/tumble/bin +ExecStart=/srv/tumble/bin/tumble /srv/tumble/conf/config.yml +Restart=on-failure +RestartSec=5 + +Environment=HOME=/srv/tumble + +# Security hardening +ProtectSystem=strict +ReadWritePaths=/srv/tumble/logs +PrivateTmp=true +NoNewPrivileges=true + +[Install] +WantedBy=multi-user.target