debian-forge-composer/distribution/osbuild-composer.service
Martin Sehnoutka e310d4e4f0 distribution: Use After=network.target instead of multi-user
There is no need for osbuild-composer to wait until the whole multi-user
target is completed. It can be started earlier as it doesn't have any
dependencies in the target.

This can be a problem if there is a unit in the target that is not starting
and still is unrelated to osbuild-composer. There was a bug like this
with Plymouth where the service didn't finish and it was hanging. That
prevented osbuild-composer from starting and the user was left with
working SSH connection and shell, but composer-cli and systemctl start
osbuild-composer.service were both unresponsive.

Replace After=multi-user.target with After=network.target to start
osbuild-composer earlier.
2021-09-24 14:15:10 +02:00

24 lines
660 B
Desktop File

[Unit]
Description=OSBuild Composer
After=network.target
# Weldr API needs a local worker by default.
# Run `systemctl mask osbuild-worker@1.service`
# to disable it.
Wants=osbuild-worker@1.service
[Service]
Type=simple
ExecStart=/usr/libexec/osbuild-composer/osbuild-composer
CacheDirectory=osbuild-composer
StateDirectory=osbuild-composer
WorkingDirectory=/usr/libexec/osbuild-composer/
User=_osbuild-composer
Restart=on-failure
# systemd >= 240 sets this, but osbuild-composer runs on earlier versions
Environment="CACHE_DIRECTORY=/var/cache/osbuild-composer"
Environment="STATE_DIRECTORY=/var/lib/osbuild-composer"
[Install]
WantedBy=multi-user.target