React + Vite + TypeScript SPA covering the full ABS feature set (library browsing, item detail, metadata/cover editing, podcasts, player with session sync, admin: users/libraries/scanner/server settings). Dev uses a dynamic CORS proxy; production is served by server/index.mjs (static + reverse proxy to ABS_URL). Includes systemd unit and installer under deploy/. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
25 lines
660 B
Desktop File
25 lines
660 B
Desktop File
[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
|