[Unit] Description=Shelfless (Audiobookshelf frontend) After=network.target # If Audiobookshelf runs on the same container, start after it: # After=network.target audiobookshelf.service # Wants=audiobookshelf.service [Service] Type=simple # Adjust to where you copied the project: WorkingDirectory=/opt/shelfless ExecStart=/usr/bin/node server/index.mjs Restart=on-failure RestartSec=3 Environment=NODE_ENV=production Environment=PORT=8080 # The Audiobookshelf server this frontend talks to (same container = localhost): Environment=ABS_URL=http://127.0.0.1:13378 # Optional hardening: # User=shelfless # Group=shelfless [Install] WantedBy=multi-user.target