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.
24 lines
660 B
Desktop File
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
|