3572 Commits

Author SHA1 Message Date
MickLesk
f5e07027f3 fix(lobehub,twenty,simplelogin): broken $STD fallback patterns
silent() hard-exits on non-zero return before || fallback executes.
Replace first $STD with plain redirect so fallback command can run:
- lobehub: dpkg -i || apt install -f (dependency resolution)
- twenty: yarn install --immutable || yarn install (lockfile fallback)
- simplelogin: npm ci || npm install (lockfile fallback)
2026-04-04 23:57:39 +02:00
MickLesk
4864b0773b fix(puter,slink): resolve LAN access issues
puter: create config.json with allow_nipio_domains to fix 'Invalid Host Header' on LAN
slink: replace $STD with plain redirects on fallible console commands (silent() hard-exits before || true)
slink: add ORIGIN env var via EnvironmentFile for SvelteKit CSRF to allow LAN login
2026-04-04 23:51:17 +02:00
MickLesk
2c47d114db fix(slink): allow CORS from any origin for LAN access
Default CORS_ALLOW_ORIGIN only permits localhost, blocking login
when accessed via LAN IP.
2026-04-04 23:25:36 +02:00
MickLesk
d2f6be43e7 feat: add Kan, Puter, Lychee, Fleet scripts (ct/install/json) 2026-04-04 23:21:13 +02:00
MickLesk
6684ab02cc fix(slink): fix SQLite path for bare-metal install
The .env.example uses /app/var/data/ (Docker path). Rewrite to
/opt/slink/services/api/var/data/ and ensure the directory exists.
2026-04-04 23:15:32 +02:00
MickLesk
eb6aeeff92 fix(slink): generate admin credentials and JWT keys on install
- Set ADMIN_EMAIL/ADMIN_PASSWORD so admin user is created on first boot
- Generate JWT keypair for authentication to work
- Run doctrine:migrations:migrate for DB schema
- Save credentials to ~/slink.creds
2026-04-04 22:58:22 +02:00
MickLesk
24dd2670ac fix(plane): fix image upload and curl flag
- nginx: add exact-match location for /uploads (no trailing slash)
  to handle S3 presigned POST URLs from Plane's storage backend
- ct: fix curl -s to curl -fsSL for consistency with other scripts
2026-04-04 22:56:36 +02:00
MickLesk
f344b69617 fix(lobehub,otbr): increase heap limit and fix bind9 enable
- lobehub: bump --max-old-space-size from 4096 to 8192 (build OOMs at ~6GB)
- openthread-br: handle linked unit file bind9.service on Debian 13
2026-04-04 22:15:20 +02:00
MickLesk
20fd374b08 fix(trek): reset admin password via direct DB update after server init 2026-04-03 22:19:21 +02:00
MickLesk
acfbb23d70 fix(trek): set explicit admin creds via env vars, save to ~/trek.creds 2026-04-03 21:33:51 +02:00
github-actions[bot]
7a2599d13d Delete netboot-xyz (ct) after migration to ProxmoxVE (#1666)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-03 19:28:51 +00:00
MickLesk
daf3a5ce6e fix(slink): enable PHP-FPM via PHP_FPM=YES in setup_php 2026-04-03 21:16:50 +02:00
MickLesk
b0651c0e6e fix(openthread-br): enable and start dbus, rsyslog, bind9 before otbr-agent 2026-04-03 20:52:58 +02:00
MickLesk
f13616e3b9 fix(trek): extract admin creds from log; fix(slink): export APP_ENV=prod for all symfony commands 2026-04-02 22:53:30 +02:00
MickLesk
5c02002a19 fix(slink): set APP_ENV=prod for composer to skip dev bundles 2026-04-02 22:42:00 +02:00
MickLesk
81bdfe5eaa fix(soulsync): use uv pip instead of missing venv pip 2026-04-02 22:41:25 +02:00
MickLesk
c04e0141b9 fix(trek): add python3 dep, install all npm deps, improve env config 2026-04-02 22:40:49 +02:00
MickLesk
d351fb2968 fix(labca): enable standalone mode for embedded templates 2026-04-02 22:24:25 +02:00
MickLesk
486eb90163 fix(slink): upgrade PHP 8.3 → 8.5 (required by latest release) 2026-04-02 22:21:47 +02:00
MickLesk
93544b905c fix(slink): add git dependency for composer 2026-04-02 22:09:43 +02:00
MickLesk
0f758c9ab2 fix(soulsync): use apt ffmpeg instead of setup_ffmpeg 2026-04-02 22:06:47 +02:00
MickLesk
f1581d8449 fix(dashy,transmute): use Node.js 24 instead of 22 2026-04-02 22:05:33 +02:00
MickLesk
deb95b1bcf fix(trek,anchor,slink): use Node.js 24 instead of 22 2026-04-02 22:04:39 +02:00
MickLesk
2a75902281 feat(new-scripts): add TREK, SoulSync, UpSnap, Anchor, Slink
- TREK: Self-hosted travel planner (Node.js 22, Express, SQLite)
- SoulSync: Music discovery & automation (Python 3.11, Flask)
- UpSnap: Wake-on-LAN web app (Go binary, PocketBase)
- Anchor: Offline-first note taking (NestJS, Next.js, PostgreSQL)
- Slink: Image sharing platform (PHP/Symfony, SvelteKit, Redis, Caddy)
2026-04-02 21:55:54 +02:00
MickLesk
1aac11e6b3 fix(openthread-br): set privileged mode, don't auto-start services 2026-04-02 21:21:59 +02:00
MickLesk
fcb8e932f1 fix(netboot-xyz): rename install script to match naming convention 2026-04-02 21:04:56 +02:00
MickLesk
81dcba7758 fix(postiz,ente,lobehub): address testing feedback
- postiz: add postiz-rebuild helper for env changes & social provider setup
- ente: rewrite ente-setup Step 4 to use direct SQL instead of flaky CLI
- ente: improve ente-upgrade-subscription to bypass interactive prompts
- lobehub: replace broken ParadeDB APT repo (402) with GitHub release .deb
2026-04-02 18:14:49 +02:00
github-actions[bot]
679a514f86 Delete drawdb (ct) after migration to ProxmoxVE (#1658)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-01 20:08:50 +00:00
CanbiZ (MickLesk)
fa7e18f917 lol 2026-04-01 13:18:57 +02:00
CanbiZ (MickLesk)
4ac7d3b34b fix(tubearchivist): use Docker-compatible paths for cache/media
TubeArchivist uses TA_CACHE_DIR and TA_MEDIA_DIR directly as URL paths.
In Docker these are /cache and /youtube, matching nginx locations.
Our paths (/opt/tubearchivist/cache, /opt/tubearchivist/media) broke
video playback URLs and file downloads.

Create symlinks /cache and /youtube pointing to data dirs, set env vars
to match Docker defaults. Aligns nginx alias paths with official config.
2026-03-30 13:38:46 +02:00
Tobias
04cefef9c4 re-add: dashy 2026-03-30 13:38:20 +02:00
CanbiZ (MickLesk)
8fc2dc2427 fix(tubearchivist): fix nginx auth_request for cache/media files
The auth_request subrequest to /api/ping/ through the generic /api
location block doesn't properly forward cookies to the Django backend,
causing 403 for all /cache/ and /media/ requests.

Use a dedicated internal /_auth location that explicitly proxies to
/api/ping/ with Cookie header forwarding.
2026-03-30 13:32:36 +02:00
CanbiZ (MickLesk)
cc71bb8e70 nodejs 2026-03-30 13:18:18 +02:00
CanbiZ (MickLesk)
38246408c0 add hint 2026-03-30 13:17:37 +02:00
CanbiZ (MickLesk)
32ab032797 fix(tubearchivist): fix celery beat race condition on first boot
Beat service starts before manage.py migrate creates the
django_celery_beat tables, causing 'no such table' error.
Add ExecStartPre that waits for migration to complete by
polling the SQLite DB for the crontab table.
2026-03-30 13:12:38 +02:00
tremor021
2a1e0ab678 fireshare: fix sed 2026-03-30 12:09:14 +02:00
CanbiZ (MickLesk)
a25ddb6fce fix(transmute): use xvfb-run instead of ExecStartPre for Xvfb
ExecStartPre runs Xvfb as a blocking foreground process, preventing
systemd from ever reaching ExecStart (timeout/failure).
Use xvfb-run wrapper to properly manage the virtual display.
2026-03-30 11:57:48 +02:00
CanbiZ (MickLesk)
96fbb51abe fix(tubearchivist): correct TA_APP_DIR to backend path
Docker copies backend to /app, so APP_DIR=/app maps static/img/ correctly.
Our bare-metal install has backend at /opt/tubearchivist/backend/,
so TA_APP_DIR must point there for fallback thumbnails to resolve.

Fixes missing thumbnails, default-channel-banner.jpg not found error.
Update script migrates existing installs to the corrected path.
2026-03-30 11:56:22 +02:00
CanbiZ (MickLesk)
90a4304fa4 Transmute: move setup_gs before apt deps to avoid double install
libreoffice-common and inkscape pull in ghostscript 10.05 via apt.
Moving setup_gs (10.07) before apt deps prevents the downgrade+upgrade cycle.
2026-03-30 11:46:11 +02:00
CanbiZ (MickLesk)
1a519ad63b Fix Nametag: copy static assets into standalone dir
Next.js standalone output requires .next/static and public/ to be
copied manually into .next/standalone/ for CSS/JS to be served.
Also source .env before prisma generate in update script.
2026-03-30 11:42:51 +02:00
CanbiZ (MickLesk)
12271687c2 Fix DrawDB: switch Caddy to Nginx, add crypto.randomUUID polyfill
- Replace Caddy with Nginx (matches upstream Dockerfile)
- Add crypto.randomUUID polyfill in index.html for non-HTTPS access
  (browsers only expose crypto.randomUUID in secure contexts)
- Apply polyfill also in update script
2026-03-30 11:34:25 +02:00
CanbiZ (MickLesk)
8cfbde0228 Fix Transmute Calibre 404, Nametag prisma env, OTBR drop setup_nodejs
- Transmute: replace manual curl with fetch_and_deploy_gh_release prebuild
- Nametag: pass DATABASE_URL to prisma generate (config needs it at load time)
- OTBR: use apt nodejs/npm instead of setup_nodejs (only needed for cmake web build)
2026-03-30 11:32:01 +02:00
CanbiZ (MickLesk)
4858dae113 Add OpenThread Border Router (OTBR) script
- Build from source via git clone + cmake/ninja
- Privileged container for network admin (iptables/ipset/tun)
- Web GUI on port 80, REST API, mDNS service discovery
- Configurable RCP device path in /etc/default/otbr-agent
- Git-based update with shallow fetch + rebuild
2026-03-30 11:27:31 +02:00
tremor021
c91d4a43c8 fireshare: added some more vars 2026-03-30 10:47:10 +02:00
CanbiZ (MickLesk)
634e89a762 feat: add Transmute, DrawDB, and Nametag CT scripts
Transmute: Self-hosted file converter (Python 3.13/FastAPI + Node.js 20)
  - 100+ formats: images, video, audio, docs, spreadsheets, fonts
  - ffmpeg, ghostscript, inkscape, tesseract, libreoffice, pandoc, calibre
  - Port 3313, SQLite, Xvfb for headless rendering

DrawDB: Database schema editor (pure SPA, Node.js 20 + Caddy)
  - Tags-only repo: uses fetch_and_deploy_gh_tag/check_for_gh_tag
  - Port 3000, no backend, no database

Nametag: Personal relationships manager (Next.js standalone + PostgreSQL)
  - Prisma ORM, photo storage, cron jobs for reminders/purge
  - Port 3000, auto-verified accounts for self-hosted
2026-03-30 10:11:50 +02:00
tremor021
ea6845f05b fireshare: better directory structure 2026-03-30 09:49:55 +02:00
github-actions[bot]
24060a1c39 Delete bambuddy (ct) after migration to ProxmoxVE (#1646)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-30 07:30:15 +00:00
CanbiZ (MickLesk)
ac38d4134e feat(homelable): add new CT script for Homelable
Interactive homelab network visualization and monitoring tool.
Backend: Python 3.13 (FastAPI/uvicorn), Frontend: Node.js 20 (Vite/React)
Caddy reverse proxy on port 3000, SQLite database, nmap network scanning.
Default credentials: admin/admin
2026-03-30 08:56:22 +02:00
CanbiZ (MickLesk)
7b55c3f637 fix(ente): auto-fill ente account add with photos + /opt/ente_data/photos
Skip interactive prompts for app type and export directory by piping
defaults. Use /opt/ente_data/photos instead of /photos.
2026-03-30 08:39:01 +02:00
CanbiZ (MickLesk)
9de814e1d6 fix(ente): use LXC IP instead of localhost for MinIO S3 endpoints
Browser uploads fail with ERR_CONNECTION_REFUSED because Museum returns
presigned S3 URLs with localhost:3200 — unreachable from the user's PC.
Changed all three S3 bucket endpoints to use LOCAL_IP:3200.
2026-03-30 08:36:00 +02:00