-
Notifications
You must be signed in to change notification settings - Fork 1
FAQ
By default, tt-rss has sessions of 1 day. You can make them last longer by runnint systemctl edit tt-rss
to create a service drop-in, and adding this:
[Service]
Environment=UWSGI_PHP_CONSTANT=SESSION_COOKIE_LIFETIME=7776000
systemd-run \
--pty -M .host \
--uid=tt-rss \
--property=DynamicUser=yes \
--property=RootImage=/var/lib/portables/tt-rss.raw \
--property=EnvironmentFile=/etc/tt-rss/config.env \
--property=StateDirectory=tt-rss \
/usr/bin/php /srv/tt-rss/update.php --update-schema
Note: paths to php and update.php are a bit more complicated in the nixos image, check them out with
unsquashfs -l ...the.image.raw
A portable service, similar to a container/docker image, allows you to pack your whole application, its dependencies, the application server and its (opinionated) configuration in a single image, without needing to change your host Linux OS, and avoiding conflicts. The portable service image is also immutable and easily interchangeable.
Compared to docker and other container systems, a systemd portable service has less runtime overhead, no docker runtime or daemon. It's a quite normal system service with some limitations (immutable image, DynamicUser=yes).
I used Nix to build the released images, since:
- I had to learn Nix.
- the uwsgi-plugin-php package in Ubuntu 20.04 has an unpatched bug that crashes the PHP interpreter.
- Nix allows me to deterministically express the whole image in its expression language, directly customize many details of php and uwsgi, and efficiently build from source only the customized packages.