Last ovh1/about leftovers: check.sh covers the new host roles, procedure A verifies at /, bot README db host
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -62,7 +62,7 @@ Not affected: Syncthing pairings (device IDs), MariaDB, stream tokens, the Gitea
|
|||||||
Dashboard → Plugins → Vanguard Metadata → Public URL → new host → Save.
|
Dashboard → Plugins → Vanguard Metadata → Public URL → new host → Save.
|
||||||
5. If the *label* changed (`watch`→`video`), edit `about/index.html` (`sub('watch')` → `sub('video')`) — commit, push,
|
5. If the *label* changed (`watch`→`video`), edit `about/index.html` (`sub('watch')` → `sub('video')`) — commit, push,
|
||||||
`sudo vanguard-deploy pull`. (`.env APEX_REDIRECT` too if the bare domain pointed at it: `./configure.py --full`.)
|
`sudo vanguard-deploy pull`. (`.env APEX_REDIRECT` too if the bare domain pointed at it: `./configure.py --full`.)
|
||||||
6. Private window: `https://video.BASE/` → Discord → in. `https://HOST/about/` links to the new name.
|
6. Private window: `https://video.BASE/` → Discord → in. The gateway `https://HOST/` links to the new name.
|
||||||
7. Remove the old DNS record. Tell members with Jellyfin apps to update the server address.
|
7. Remove the old DNS record. Tell members with Jellyfin apps to update the server address.
|
||||||
|
|
||||||
Per-host extras when it is a different host:
|
Per-host extras when it is a different host:
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ SQLAlchemy URL: `mysql+pymysql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB
|
|||||||
async: `mysql+aiomysql://...`
|
async: `mysql+aiomysql://...`
|
||||||
|
|
||||||
## Database from your own machine
|
## Database from your own machine
|
||||||
MariaDB is reachable directly: `ovh1.dumpstervigilantes.rip:3306`, user `bot`, database `vanguardbot`,
|
MariaDB is reachable directly: `media.dumpstervigilantes.rip:3306`, user `bot`, database `vanguardbot`,
|
||||||
password from the admin (`./configure.py --show` on the server). Root is local-only. New connections are
|
password from the admin (`./configure.py --show` on the server). Root is local-only. New connections are
|
||||||
rate limited at the firewall; if yours get dropped, ask the admin to add your IP to `db_allow`.
|
rate limited at the firewall; if yours get dropped, ask the admin to add your IP to `db_allow`.
|
||||||
|
|
||||||
|
|||||||
6
check.sh
6
check.sh
@@ -22,13 +22,13 @@ diff <(sed '$d' live/src/vgclock.js | sed 's/})(typeof window.*/})(window);/') d
|
|||||||
# generated Caddyfile / mediamtx / copyparty from a dry configure run must at least be produced + parse
|
# generated Caddyfile / mediamtx / copyparty from a dry configure run must at least be produced + parse
|
||||||
T=$(mktemp -d); cp configure.py "$T/"; ( cd "$T" && VG_DRY=1 python3 -c "
|
T=$(mktemp -d); cp configure.py "$T/"; ( cd "$T" && VG_DRY=1 python3 -c "
|
||||||
import configure as c, yaml
|
import configure as c, yaml
|
||||||
c.write_caddy('ovh1.example.com','auth.example.com','watch.example.com','git.example.com','bot.example.com','live.example.com')
|
c.write_caddy('media.example.com','auth.example.com','watch.example.com','git.example.com','bot.example.com','live.example.com','files.example.com','sync.example.com','clips.example.com')
|
||||||
c.write_mediamtx('ovh1.example.com'); yaml.safe_load(open('mediamtx.yml')); c.write_copyparty()
|
c.write_mediamtx('media.example.com'); yaml.safe_load(open('mediamtx.yml')); c.write_copyparty()
|
||||||
assert 'authMethod: http' in open('mediamtx.yml').read(); assert 'idp-h-usr' in open('copyparty.conf').read()
|
assert 'authMethod: http' in open('mediamtx.yml').read(); assert 'idp-h-usr' in open('copyparty.conf').read()
|
||||||
" ) && say "configure.py generators" ok || { say "configure.py generators" "FAILED"; fail=1; }
|
" ) && say "configure.py generators" ok || { say "configure.py generators" "FAILED"; fail=1; }
|
||||||
rm -rf "$T"
|
rm -rf "$T"
|
||||||
if command -v caddy >/dev/null; then
|
if command -v caddy >/dev/null; then
|
||||||
T=$(mktemp -d); cp configure.py "$T/"; ( cd "$T" && VG_DRY=1 python3 -c "import configure as c; c.write_caddy('ovh1.example.com','a.example.com','w.example.com','g.example.com','b.example.com','l.example.com')" && caddy validate --adapter caddyfile --config Caddyfile >/dev/null 2>&1 ) && say "Caddyfile (caddy validate)" ok || { say "Caddyfile (caddy validate)" "INVALID"; fail=1; }
|
T=$(mktemp -d); cp configure.py "$T/"; ( cd "$T" && VG_DRY=1 python3 -c "import configure as c; c.write_caddy('media.example.com','a.example.com','w.example.com','g.example.com','b.example.com','l.example.com','f.example.com','s.example.com','c.example.com')" && caddy validate --adapter caddyfile --config Caddyfile >/dev/null 2>&1 ) && say "Caddyfile (caddy validate)" ok || { say "Caddyfile (caddy validate)" "INVALID"; fail=1; }
|
||||||
rm -rf "$T"
|
rm -rf "$T"
|
||||||
fi
|
fi
|
||||||
[[ -d live/node_modules ]] && ( cd live && npx --no-install vite build --logLevel error >/dev/null 2>&1 ) && say "live portal build" ok || say "live portal build" "(skipped or failed — run npm run build in live/)"
|
[[ -d live/node_modules ]] && ( cd live && npx --no-install vite build --logLevel error >/dev/null 2>&1 ) && say "live portal build" ok || say "live portal build" "(skipped or failed — run npm run build in live/)"
|
||||||
|
|||||||
Reference in New Issue
Block a user