26 Commits

Author SHA1 Message Date
MickLesk
881da85f5b fix(slink): update migration command to use entity manager and re-enable admin initialization 2026-05-18 17:45:40 +02:00
MickLesk
7e28caba4f fix(slink): comment out slink:admin:init until upstream persistence issue is resolved 2026-05-18 16:24:17 +02:00
MickLesk
41371b6133 fix(slink): start redis-server before messenger:setup-transports and admin:init 2026-05-18 15:53:50 +02:00
MickLesk
cf24299d7b fix(slink): use --configuration flag for event_store migrations to actually run EventStore schema 2026-05-18 15:34:28 +02:00
MickLesk
d762e6485a fix(puter): update URL format in setup message and add public port to configuration 2026-05-18 15:00:42 +02:00
MickLesk
24dc458261 fix(config): add production environment and update database path in configuration 2026-05-18 14:37:05 +02:00
CanbiZ (MickLesk)
e5e3958985 fix(slink): fix DB init order — migrations for roles, schema:update for event_store
- Event store migrations use PostgreSQL-specific SQL (SERIAL, UUID) that
  fails on SQLite — replaced with doctrine:schema:update --force
- Run messenger:setup-transports BEFORE event_store schema to avoid
  messenger_messages table conflict
- Read model migrations (--em=read_model) include role seeding (ROLE_USER,
  ROLE_ADMIN) which doctrine:schema:create skips
- Fix default_credentials in json to match script (admin@slink.local)
2026-04-17 10:03:42 +02:00
CanbiZ (MickLesk)
80c5d29466 fix(slink): use lexik:jwt:generate-keypair instead of manual openssl, fix key permissions
- Manual openssl keys were root:600, unreadable by PHP-FPM (www-data)
- lexik:jwt:generate-keypair sets correct ownership/permissions automatically
- chmod 644 private.pem as safety net
- Remove redundant duplicate call with --skip-if-exists
2026-04-17 09:43:40 +02:00
CanbiZ (MickLesk)
239dbd1d7d fix(slink): restart caddy after config write, add API_URL to client env
- apt auto-starts caddy with default config (port 80); systemctl enable --now
  is a no-op if already running, so new Caddyfile (:8080) was never loaded
- client falls back to http://localhost:8080 without explicit API_URL; add
  API_URL=http://127.0.0.1:8080 to /etc/default/slink-client
2026-04-17 09:38:04 +02:00
CanbiZ (MickLesk)
b3691c0037 fix(matomo,papermark,slink): fix db access, creds path, build env, sqlite create
- matomo: move creds to /root/matomo.creds (out of webroot), keep tests/ dir,
  block dotfiles in Caddy (@blocked /.* pattern)
- papermark: add NEXT_PUBLIC_APP_BASE_HOST and NEXT_PUBLIC_WEBHOOK_BASE_HOST
  placeholder env vars to prevent undefined 'value' in has:host routes
  causing Next.js build failure
- slink: replace doctrine:database:create with touch for SQLite (getCreateDatabaseSQL
  not supported by SQLitePlatform)
2026-04-17 08:10:20 +02:00
CanbiZ (MickLesk)
3aebeb8c8c minor fixes 2026-04-17 07:44:01 +02:00
MickLesk
faa1c8d0fb fix(slink): proper database init sequence from upstream bootstrap
- Fix event_store.yaml migration path for LXC environment
- Add doctrine:database:create for both connections
- Run separate migrations for read_model and event_store entity managers
- Add messenger:setup-transports to create messenger_messages table
- Use $STD for all console commands
- Fix admin email in creds file
2026-04-05 19:23:05 +02:00
MickLesk
39008694c7 fix(slink): use admin@slink.local instead of admin@localhost
Slink's email validation rejects 'admin@localhost' as invalid.
2026-04-05 18:59:26 +02:00
MickLesk
de9d10264a fix(slink): run slink:admin:init to create admin user
Admin user was never created during install — the ADMIN_EMAIL/ADMIN_PASSWORD
env vars are only used when slink:admin:init command is executed.
2026-04-05 18:57:46 +02:00
MickLesk
67bc34d45b fix(slink,fleet): append APP_ENV/APP_SECRET to .env, use setup_mariadb_db
- slink: APP_ENV and APP_SECRET not present in .env.example, sed patterns
  never matched → Symfony defaulted to dev mode → WebProfilerBundle crash
  (not installed with --no-dev). Now appends APP_ENV=prod + APP_SECRET.
- fleet: use setup_mariadb_db helper instead of manual SQL, reference
  MARIADB_DB_PASS, depend on mariadb.service
2026-04-05 18:54:14 +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
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
daf3a5ce6e fix(slink): enable PHP-FPM via PHP_FPM=YES in setup_php 2026-04-03 21:16:50 +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
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
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