Initial import of transcript pipeline
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
Die öffentliche URL `http://memos.maddin.app` antwortete beim Test am 13. April 2026 mit `Server: Caddy`. Falls die produktive Domain über Caddy verwaltet wird, kann statt nginx die vHost-Datei [memos.maddin.app.Caddyfile](/home/maddin/cloud/whisper/deploy/caddy/memos.maddin.app.Caddyfile) verwendet werden.
|
||||
|
||||
Vorbereitung:
|
||||
|
||||
```bash
|
||||
transcript memos-auth
|
||||
transcript memos-sync
|
||||
```
|
||||
|
||||
Statische Buildartefakte liegen unter `/home/maddin/cloud/whisper/memos-site`.
|
||||
@@ -0,0 +1,8 @@
|
||||
memos.maddin.app {
|
||||
root * /home/maddin/cloud/whisper/memos-site
|
||||
basicauth {
|
||||
import /home/maddin/cloud/whisper/deploy/nginx/memos.htpasswd
|
||||
}
|
||||
file_server
|
||||
encode zstd gzip
|
||||
}
|
||||
Executable
+41
@@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_DIR="${PROJECT_DIR:-$(cd "$SCRIPT_DIR/../.." && pwd)}"
|
||||
UNIT_DIR="$HOME/.config/systemd/user"
|
||||
SERVICE_NAME="com.maddin.whisper-transcript-pipeline.service"
|
||||
UNIT_PATH="$UNIT_DIR/$SERVICE_NAME"
|
||||
PYTHON_BIN="${PYTHON_BIN:-$(command -v python3 || true)}"
|
||||
|
||||
if [[ -z "$PYTHON_BIN" ]]; then
|
||||
echo "python3 not found in PATH" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "$UNIT_DIR"
|
||||
|
||||
cat >"$UNIT_PATH" <<EOF
|
||||
[Unit]
|
||||
Description=Whisper transcript pipeline
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
WorkingDirectory=$PROJECT_DIR
|
||||
ExecStart=$PYTHON_BIN $PROJECT_DIR/transcript_pipeline.py watch
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
Environment=PYTHONUNBUFFERED=1
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
EOF
|
||||
|
||||
systemctl --user daemon-reload
|
||||
systemctl --user enable --now "$SERVICE_NAME"
|
||||
|
||||
echo "Installed and started $SERVICE_NAME"
|
||||
echo "If the service should survive logout, enable lingering once:"
|
||||
echo " loginctl enable-linger $USER"
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
SERVICE_NAME="com.maddin.whisper-transcript-pipeline.service"
|
||||
UNIT_PATH="$HOME/.config/systemd/user/$SERVICE_NAME"
|
||||
|
||||
systemctl --user disable --now "$SERVICE_NAME" >/dev/null 2>&1 || true
|
||||
systemctl --user daemon-reload
|
||||
rm -f "$UNIT_PATH"
|
||||
|
||||
echo "Uninstalled $SERVICE_NAME"
|
||||
@@ -0,0 +1,23 @@
|
||||
`memos.maddin.app` erwartet statische Quartz-Buildartefakte unter `/home/maddin/cloud/whisper/memos-site`.
|
||||
|
||||
Vorbereitung:
|
||||
|
||||
```bash
|
||||
transcript memos-auth
|
||||
transcript memos-sync
|
||||
```
|
||||
|
||||
Die dazugehörige nginx-vHost-Datei liegt in [memos.maddin.app.conf](/home/maddin/cloud/whisper/deploy/nginx/memos.maddin.app.conf).
|
||||
|
||||
Wichtige Pfade:
|
||||
|
||||
- Site-Root: `/home/maddin/cloud/whisper/memos-site`
|
||||
- htpasswd: `/home/maddin/cloud/whisper/deploy/nginx/memos.htpasswd`
|
||||
- Quartz-Quelle: `/home/maddin/cloud/whisper/memos-content`
|
||||
|
||||
Die Basic-Auth-Zugangsdaten werden aus `.env` gelesen:
|
||||
|
||||
- `MEMOS_BASIC_AUTH_USER`
|
||||
- `MEMOS_BASIC_AUTH_PASSWORD`
|
||||
|
||||
Hinweis: Eine per `rclone` synchronisierte statische Website ist noch nicht automatisch geschützt. Der Remote-Webserver muss `auth_basic` bzw. die entsprechende Caddy-/nginx-Auth explizit aktivieren und auf die dort vorhandene htpasswd-Datei verweisen.
|
||||
@@ -0,0 +1,15 @@
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name memos.maddin.app;
|
||||
|
||||
root /home/maddin/cloud/whisper/memos-site;
|
||||
index index.html;
|
||||
|
||||
auth_basic "Private Memos";
|
||||
auth_basic_user_file /home/maddin/cloud/whisper/deploy/nginx/memos.htpasswd;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri.html $uri/ /404.html;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user