[Unit] Description=Paperless-ngx Requires=docker.service Wants=network-online.target After=docker.service network-online.target [Service] Type=oneshot RemainAfterExit=yes WorkingDirectory=/srv/paperless # Wait until Docker actually answers ExecStartPre=/usr/bin/docker info # Retry startup in case of transient dbus / cgroup failure ExecStart=/bin/sh -c 'for i in 1 2 3 4 5; do /usr/bin/docker compose up -d && exit 0; sleep 10; done; exit 1' ExecStop=/usr/bin/docker compose down Restart=on-failure RestartSec=10 StartLimitIntervalSec=0 TimeoutStartSec=0 [Install] WantedBy=multi-user.target