fixes and improvements
This commit is contained in:
+24
-28
@@ -55,36 +55,33 @@ Set environment variables directly in your shell or a wrapper script before runn
|
||||
For local `.env` development, you can still create one if you prefer, but it is optional.
|
||||
|
||||
```bash
|
||||
JELLYFIN_URL=https://jellyfin.example.com
|
||||
JELLYFIN_API_KEY=your-api-key
|
||||
JELLYFIN_USER_ID=
|
||||
|
||||
# Optional Jellyseerr enrichment for the Users tab
|
||||
JELLYSEERR_URL=https://requests.example.com
|
||||
JELLYSEERR_API_KEY=your-jellyseerr-api-key
|
||||
|
||||
# Optional backend logging level
|
||||
LOG_LEVEL=INFO
|
||||
|
||||
# Optional SMTP settings for the Users -> message popup
|
||||
SMTP_HOST=smtp.example.com
|
||||
SMTP_PORT=587
|
||||
SMTP_USERNAME=your-smtp-username
|
||||
SMTP_PASSWORD=your-smtp-password
|
||||
SMTP_FROM_ADDRESS=no-reply@example.com
|
||||
SMTP_FROM_NAME=Manage
|
||||
SMTP_USE_TLS=true
|
||||
SMTP_USE_SSL=false
|
||||
SMTP_TIMEOUT=30
|
||||
|
||||
# Jellyfin, Jellyseerr, and SSH targets are now configured per machine in the app's Settings tab.
|
||||
# The backend seeds a local machine automatically, so no global Jellyfin or SSH env vars are required.
|
||||
#
|
||||
# If you still want to keep a fallback SSH key available for legacy/manual use, provide a single key file path:
|
||||
SSH_KEY_HOST_PATH=/absolute/path/to/id_ed25519
|
||||
# The container-side secret path is fixed at /run/secrets/ssh_private_key.
|
||||
|
||||
# Authentik / OIDC
|
||||
AUTH_ENABLED=true
|
||||
OIDC_ISSUER_URL=https://authentik.example/application/o/media-library-viewer/
|
||||
OIDC_AUDIENCE=media-library-viewer
|
||||
OIDC_JWKS_URL=
|
||||
OIDC_CLOCK_SKEW_SECONDS=30
|
||||
|
||||
SSH_HOST=media-server.example.com
|
||||
SSH_USERNAME=username
|
||||
SSH_PORT=22
|
||||
# Host-side directory mounted into the backend container at /root/.ssh.
|
||||
SSH_KEY_HOST_DIR=/absolute/path/to/your/ssh-dir
|
||||
# Container-side path assembled by the app:
|
||||
SSH_KEY_DIRECTORY=/root/.ssh
|
||||
SSH_KEY_NAME=id_ed25519
|
||||
SSH_PASSWORD=
|
||||
|
||||
REMOTE_MEDIA_ROOT=/srv/media
|
||||
REMOTE_PATH_PREFIX=
|
||||
```
|
||||
|
||||
## Running
|
||||
@@ -113,12 +110,6 @@ The production compose file expects required environment variables to be supplie
|
||||
1. Export your runtime variables before launching Compose:
|
||||
|
||||
```bash
|
||||
export JELLYFIN_URL=https://jellyfin.example.com
|
||||
export JELLYFIN_API_KEY=your-api-key
|
||||
export SSH_HOST=media-server.example.com
|
||||
export SSH_USERNAME=username
|
||||
export SSH_KEY_HOST_DIR=$HOME/.ssh
|
||||
export SSH_KEY_NAME=id_ed25519
|
||||
export BACKEND_APP_HOST=manage.example.com
|
||||
export FRONTEND_APP_HOST=manage.example.com
|
||||
export CERT_RESOLVER=letsencrypt
|
||||
@@ -127,12 +118,17 @@ export VITE_OIDC_CLIENT_ID=manage
|
||||
export VITE_OIDC_REDIRECT_URI=https://manage.example.com/
|
||||
export VITE_OIDC_POST_LOGOUT_REDIRECT_URI=https://manage.example.com/
|
||||
|
||||
# Optional: provide a single SSH private key file for remote machines configured later in Settings.
|
||||
# Compose mounts it as a Docker secret, so you do not need to mount your whole ~/.ssh directory.
|
||||
# If you prefer SSH agent forwarding, Paramiko will use SSH_AUTH_SOCK when you provide it.
|
||||
export SSH_KEY_HOST_PATH=$HOME/.ssh/id_ed25519
|
||||
|
||||
docker compose up --build
|
||||
```
|
||||
|
||||
2. After the API is running, open the app, go to **Settings**, and add machine entries:
|
||||
- **Local**: monitors the API host itself without SSH.
|
||||
- **SSH**: monitors another machine using a host, username, key directory, and key name.
|
||||
- **SSH**: monitors another machine using a host, username, and a key file path stored in the container.
|
||||
|
||||
3. Open **Monitoring** to see one section per configured machine. Each section uses its own collector state, disk path, metrics queries, and recent action history, which are populated automatically by the backend poller.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user