fix: add device_fingerprint to PB schema + fix homelab Redis routing
All checks were successful
Release / Test backend (push) Successful in 39s
Release / Check ui (push) Successful in 43s
Release / Docker / caddy (push) Successful in 54s
Release / Docker / runner (push) Successful in 2m33s
Release / Docker / backend (push) Successful in 3m0s
Release / Docker / ui (push) Successful in 1m56s
Release / Gitea Release (push) Successful in 20s
All checks were successful
Release / Test backend (push) Successful in 39s
Release / Check ui (push) Successful in 43s
Release / Docker / caddy (push) Successful in 54s
Release / Docker / runner (push) Successful in 2m33s
Release / Docker / backend (push) Successful in 3m0s
Release / Docker / ui (push) Successful in 1m56s
Release / Gitea Release (push) Successful in 20s
OAuth login was silently failing: upsertUserSession() queried the
device_fingerprint column which didn't exist in the user_sessions
collection, PocketBase returned 400, the fallback authSessionId was
never written to the DB, and isSessionRevoked() immediately revoked
the cookie on first load after the OAuth redirect.
- scripts/pb-init-v3.sh: add device_fingerprint text field to the
user_sessions create block (new installs) and add an idempotent
add_field migration line (existing installs)
Audio jobs were stuck pending because the homelab runner was
connecting to its own local Redis instead of the prod VPS Redis.
- homelab/docker-compose.yml: change hardcoded REDIS_ADDR=redis:6379
to ${REDIS_ADDR} so Doppler injects rediss://redis.libnovel.cc:6380
(the Caddy TLS proxy that bridges the homelab runner to prod Redis)
This commit is contained in:
@@ -63,7 +63,7 @@ services:
|
|||||||
LIBRETRANSLATE_API_KEY: "${LIBRETRANSLATE_API_KEY}"
|
LIBRETRANSLATE_API_KEY: "${LIBRETRANSLATE_API_KEY}"
|
||||||
|
|
||||||
# ── Asynq / Redis ─────────────────────────────────────────────────────
|
# ── Asynq / Redis ─────────────────────────────────────────────────────
|
||||||
REDIS_ADDR: "redis:6379"
|
REDIS_ADDR: "${REDIS_ADDR}"
|
||||||
REDIS_PASSWORD: "${REDIS_PASSWORD}"
|
REDIS_PASSWORD: "${REDIS_PASSWORD}"
|
||||||
|
|
||||||
KOKORO_URL: "http://kokoro-fastapi:8880"
|
KOKORO_URL: "http://kokoro-fastapi:8880"
|
||||||
|
|||||||
@@ -190,14 +190,15 @@ create "app_users" '{
|
|||||||
{"name":"oauth_id", "type":"text"}
|
{"name":"oauth_id", "type":"text"}
|
||||||
]}'
|
]}'
|
||||||
|
|
||||||
create "user_sessions" '{
|
create "user_sessions" '{
|
||||||
"name":"user_sessions","type":"base","fields":[
|
"name":"user_sessions","type":"base","fields":[
|
||||||
{"name":"user_id", "type":"text","required":true},
|
{"name":"user_id", "type":"text","required":true},
|
||||||
{"name":"session_id","type":"text","required":true},
|
{"name":"session_id", "type":"text","required":true},
|
||||||
{"name":"user_agent","type":"text"},
|
{"name":"user_agent", "type":"text"},
|
||||||
{"name":"ip", "type":"text"},
|
{"name":"ip", "type":"text"},
|
||||||
{"name":"created_at","type":"text"},
|
{"name":"device_fingerprint", "type":"text"},
|
||||||
{"name":"last_seen", "type":"text"}
|
{"name":"created_at", "type":"text"},
|
||||||
|
{"name":"last_seen", "type":"text"}
|
||||||
]}'
|
]}'
|
||||||
|
|
||||||
create "user_library" '{
|
create "user_library" '{
|
||||||
@@ -291,5 +292,6 @@ add_field "app_users" "oauth_id" "text"
|
|||||||
add_field "app_users" "polar_customer_id" "text"
|
add_field "app_users" "polar_customer_id" "text"
|
||||||
add_field "app_users" "polar_subscription_id" "text"
|
add_field "app_users" "polar_subscription_id" "text"
|
||||||
add_field "user_library" "shelf" "text"
|
add_field "user_library" "shelf" "text"
|
||||||
|
add_field "user_sessions" "device_fingerprint" "text"
|
||||||
|
|
||||||
log "done"
|
log "done"
|
||||||
|
|||||||
Reference in New Issue
Block a user