Commit Graph

3625 Commits

Author SHA1 Message Date
tremor021
41bae875cb transmute: bump node to 25 2026-04-14 10:34:39 +02:00
tremor021
f1f1b7da41 Fix Micks stupid app 2026-04-13 23:16:48 +02:00
Tobias
ae2923ac76 dashy: fix node 2026-04-13 21:40:29 +02:00
Tobias
31a7493564 dashy: fix repo 2026-04-13 21:18:35 +02:00
Tobias
e0c76d6ef8 dashy: add prebuild 2026-04-13 21:18:17 +02:00
CanbiZ (MickLesk)
f154e484e7 Switch Blinko to bun for runtime and seed
Replace Node.js usage with bun across install and control scripts: run /opt/blinko/dist/seed.js with bun during install and update, and start the service with bun using --env-file. Also remove the hardcoded PORT from the generated .env. These changes unify the runtime, ensure migrations and seeding use bun, and load environment variables directly when starting the service.
2026-04-13 20:06:31 +02:00
CanbiZ (MickLesk)
7f1b977e18 Improve build/install scripts for multiple apps
Switch development builds to production and harden install/update steps across several apps.

- Akaunting: use `npm run production` instead of `npm run dev` in both install and update scripts to produce production assets.

- Blinko: make bun installs run with `--unsafe-perm`, run `bun run build:web` and `bun run build:seed`, copy built public assets into `/opt/blinko/server/public`, run prisma migrations, and execute the generated seed script. Add PORT and NEXT_PUBLIC_BASE_URL to the .env. Update the systemd service to use WorkingDirectory `/opt/blinko/server` and start the app with `node /opt/blinko/dist/index.js`.

- InvoiceShelf & SolidTime: stop capturing APP_KEY via `php artisan key:generate --show` + sed; instead run `php artisan key:generate` during install after composer install. SolidTime also runs `php artisan storage:link` after build. These changes simplify key generation and ensure proper storage linking.

Overall these updates ensure production-ready builds, proper artifact placement, and correct runtime configuration for services.
2026-04-13 17:13:39 +02:00
CanbiZ (MickLesk)
b2af68d233 Use explicit app names in install scripts
Replace the generic ${APP} placeholder with explicit, consistently capitalized application names in install scripts to produce clearer log output. Affected scripts: install/{akaunting,blinko,dagu,gogs,invoiceshelf,matomo,papermark,rss-bridge,solidtime}-install.sh. Changes update msg_info and msg_ok messages only.
2026-04-13 16:44:38 +02:00
CanbiZ (MickLesk)
0dbf0b06ae Switch to Bun runtime and update install scripts
Install Bun during setup and replace npm/npx calls with bun/bunx. Added Bun install (sets BUN_INSTALL, runs bun install script, and symlinks bun and bunx to /usr/local/bin) in install/blinko-install.sh. Updated ct/blinko.sh and install/blinko-install.sh to use `bun install`, `bunx prisma ...`, and `bun run build` instead of npm/npx commands for dependency install, Prisma generate/migrate, and build steps.
2026-04-13 16:32:47 +02:00
CanbiZ (MickLesk)
e3d2cbb566 Add container templates and installers for apps
Add new ProxmoxVED container templates (ct/*.sh), install scripts (install/*.sh) and metadata (json/*.json) for multiple applications: Akaunting, Blinko, Certimate, Dagu, Gogs, InvoiceShelf, Matomo, Papermark, RSS-Bridge, SolidTime and WhoDB. Each ct script includes update logic and deployment helpers; install scripts handle dependency installation, service creation (systemd), DB setup, and Caddy/PHP/Node/Postgres configuration where applicable. JSON entries provide UI metadata, resource defaults and access ports for each app.
2026-04-13 16:30:41 +02:00
CanbiZ (MickLesk)
c5bbc956a1 Improve setup: verification and DB helpers
Refactor ente-install.sh to make first-time setup more robust: update ente-get-verification to use a new log pattern and broader fallback, add run_psql and run_psql_exec helpers for consistent sudo-psql usage, implement a retry loop when polling for the verification code, and improve prompts/error messages. Switch admin whitelisting to use the numeric user_id (and verify existence) instead of email in museum.yaml. Simplify and harden subscription upgrade logic to use the new DB helpers and ensure inserts/updates run under the postgres user. Miscellaneous messaging and minor formatting tweaks.
2026-04-13 14:51:01 +02:00
CanbiZ (MickLesk)
8dff6a908c typo 2026-04-13 14:13:14 +02:00
CanbiZ (MickLesk)
8e605c0f29 fix ownfoil 2026-04-13 14:09:23 +02:00
CanbiZ (MickLesk)
b1e1bfab22 Remove dummy touchscreen; fix supervisord & defaults
Remove non-portable dummy_touchscreen InputDevice from Xorg config and adjust dummy_mouse entry. Hardcode supervisord environment/user/display to 'neko' and :99.0 for X, PulseAudio, Firefox, Openbox and the Neko server to simplify runtime on bare-metal. Update /etc/neko/neko.yaml to disable session cookies, enable WebRTC icelite, add nat1to1 mapping with ${LOCAL_IP}, set EPR port range 59000-59100, and disable desktop input. Update json/neko.json to clear the default username (null) and clarify the password-only login note. These changes make the packaged runtime compatible without the custom Xorg driver and streamline defaults for deployment.
2026-04-13 14:03:27 +02:00
Michel Roegl-Brunner
66f37b2e4e Merge pull request #1656 from pajjski/feature/ownfoil
Added ownfoil (CT)
2026-04-13 13:01:09 +02:00
CanbiZ (MickLesk)
4113930384 Update neko-install.sh 2026-04-13 12:25:36 +02:00
CanbiZ (MickLesk)
951441cf03 Merge pull request #1665 from doge0420/submit/mini-qr
feat: Add Mini QR
2026-04-13 12:08:14 +02:00
CanbiZ (MickLesk)
a87d423450 Add Neko virtual browser template
Introduce Neko container template with installer and metadata. Adds ct/neko.sh (container install entrypoint and update routine), install/neko-install.sh (detailed install/build steps: fetch GitHub release m1k1o/neko, build client/server, configure supervisord, systemd service, runtime users, plugins, and default neko.yaml), and json/neko.json (app metadata, resources, port 8080, default credentials and notes). Enables automated provisioning of the Neko WebRTC virtual browser on Debian 12 with default CPU/RAM/disk values.
2026-04-13 12:06:37 +02:00
CanbiZ (MickLesk)
2e2b3154e7 Add PVE script-creator agent; remove legacy scripts
Add a new .github agent (pve-script-creator.agent.md) with workflow and strict rules for generating CT/install/json files. Remove legacy CT/install/json artifacts for alpine-ironclaw and openthread-br (ct/, install/, json/ entries deleted). Also adjust mqttx update logic: set CLEAN_INSTALL=1 and move the update msg_info after fetch_and_deploy_gh_release to ensure a clean deployment before reporting/updating and then run yarn build in the app web dir.
2026-04-13 12:00:08 +02:00
CanbiZ (MickLesk)
23939e0278 Create bentopdf-install.sh 2026-04-10 08:05:26 +02:00
Thieneret
c028e32aed Bump authentik version to 2026.2.2 and pin xmlsec version to 1.3.9 2026-04-08 21:38:53 +02:00
github-actions[bot]
d7d9fd8349 Delete ironclaw (ct) after migration to ProxmoxVE (#1680)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-08 13:59:55 +00:00
tremor021
6b9989aa01 Ente: align read 2026-04-08 08:50:15 +02:00
CanbiZ (MickLesk)
80147b4775 fix(ente): resolve merge conflict markers in install script and metadata 2026-04-08 08:06:18 +02:00
CanbiZ (MickLesk)
de7c99ea8c refactor(mqttx): convert from LXC to addon
MQTTX Web is a static browser-based MQTT client with no backend.
Makes more sense as an addon installable into any existing container
than as a dedicated LXC.

Addon installs into /opt/mqttx, builds web/ with yarn, serves via
Nginx on configurable port (default 8095). Supports install/update/uninstall.
2026-04-07 10:03:30 +02:00
CanbiZ (MickLesk)
6eaca2bec7 feat(mqttx): add MQTTX Web MQTT client script
Static Vue SPA for testing MQTT brokers via WebSocket.
Node.js build of web/ subdir, served with Nginx on port 80.
Category: MQTT & Messaging (18).
2026-04-07 10:01:09 +02:00
MickLesk
7869c45042 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2026-04-06 21:30:51 +02:00
MickLesk
91b3c0cb31 fix(fleet): add missing user creation for database access 2026-04-06 21:30:46 +02:00
github-actions[bot]
4795aadbbb Delete homelable (ct) after migration to ProxmoxVE (#1674)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-06 19:07:09 +00:00
MickLesk
c0cb2528bd fix puter 2026-04-06 20:03:03 +02:00
MickLesk
9fe9c4f1a0 add ldap 2026-04-06 19:49:18 +02:00
MickLesk
7526a5d5e2 fix(kan): enable email+password registration
Add NEXT_PUBLIC_ALLOW_CREDENTIALS=true to .env and export it during
build. Without this, only magic-link login is available which requires
SMTP configuration. Email+password auth allows registration without
any mail server.
2026-04-05 19:58:26 +02:00
MickLesk
aabcdc84c6 fix(fleet): add redis-server dependency
Fleet requires Redis for live queries, async jobs, and distributed
locking. Without it the fleet serve process fails on startup.

- Install redis-server package
- Add FLEET_REDIS_ADDRESS=127.0.0.1:6379 to .env
- Add redis-server.service to systemd After/Requires
- Enable redis-server alongside fleet service
2026-04-05 19:54:58 +02:00
MickLesk
194ba8a3fd fix(puter): add protocol to config, fix(fleet): use Debian 12
Puter: protocol was missing from config.json, causing origin to be
computed as 'undefined://IP:4100'. All API/WebSocket URLs inherited
this broken value, making the frontend unable to load.

Fleet: MySQL APT repo requires Debian 12 (Bookworm), not 13.
2026-04-05 19:43:19 +02:00
MickLesk
cb4720258e fix(puter): add database engine config (sqlite)
Puter requires services.database.engine in config.json. When the
config file is auto-generated it includes this, but our custom config
was missing it, causing: 'Must specify engine for service database'
and cascade failure of all services depending on the DB.
2026-04-05 19:40:47 +02:00
MickLesk
117245947b fix(kan): remove POSTGRES_URL from build env, add CI=true
Next.js pre-renders pages during build. With POSTGRES_URL exported,
Server Components try to query DB tables that don't exist yet
(migrations run after build), causing the build to hang indefinitely.

Docker build does NOT set POSTGRES_URL and sets CI=true to skip env
validation. Match that behavior.
2026-04-05 19:37:27 +02:00
MickLesk
136875dd2c fix(storyteller): downgrade Node to v22 for compatibility 2026-04-05 19:23:32 +02:00
MickLesk
0c9e877bb6 fix(otbr): add blank line before TCP socat example comment 2026-04-05 19:23:24 +02:00
MickLesk
117615bb29 revert(fleet): switch back to MySQL, MariaDB incompatible with Fleet migrations
MariaDB fails on migration 20240905200000_UninstallPackages due to
SQL syntax incompatibility (MODIFY COLUMN ... NULL). Use real MySQL
with manual DB setup instead of setup_mariadb_db.
2026-04-05 19:23:16 +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
b7f24f48ba fix(otbr): remove stray quotes from TCP socat example
The single quotes around the spinel+hdlc+forkpty URL in the comment
example become part of the value when users copy it into the
double-quoted OTBR_AGENT_OPTS string, causing 'spinel interface name
is not supported' error.
2026-04-05 19:02:56 +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
17c7984546 fix(lychee): match commented DB_DATABASE in .env.example
Lychee's .env.example has '#DB_DATABASE=' (commented out). The sed
pattern '^DB_DATABASE=' didn't match, so Laravel fell back to the
default database name 'forge'. Use '^#\?DB_DATABASE=' to match both
commented and uncommented lines.
2026-04-05 18:37:02 +02:00
MickLesk
f7258d5268 fix(fleet,mysql): switch Fleet to MariaDB, add mysql case to manage_tool_repository
- fleet: use setup_mariadb instead of setup_mysql (MariaDB works fine for
  Fleet and avoids MySQL repo complexity on trixie)
- tools.func: add missing mysql) case block to manage_tool_repository
  (was causing 'Unknown tool repository: mysql' error)
2026-04-05 18:35:51 +02:00
MickLesk
77e1490b7c fix(kan,puter): use .env + source for build env vars, fix Puter unreachable via IP
- kan: write .env before build, source it + export for build-time validation
  instead of inline exports (cleaner, consistent with codebase pattern)
- puter: set domain to container IP + experimental_no_subdomain so Puter
  accepts Host header when accessed via raw IP (default puter.localhost
  rejects all non-matching hosts)
2026-04-05 18:32:49 +02:00
MickLesk
363df9ddac fix(otbr,kan,mysql): OTBR vendor/model/socat/web binding, Kan build env vars, MySQL trixie support
- openthread-br: add socat dep for TCP adapters, add --vendor-name/--model-name
  (mandatory), bind REST API to 0.0.0.0:8081, configure otbr-web to listen on
  all interfaces, update TCP example with socat forkpty pattern
- kan: export BETTER_AUTH_SECRET and POSTGRES_URL before build (required by
  @t3-oss/env-nextjs zod validation at build time)
- mysql: remove MariaDB-on-trixie workaround (MySQL repo now has trixie packages),
  update GPG key from RPM-GPG-KEY-mysql-2023 to RPM-GPG-KEY-mysql-2025
2026-04-05 18:26:11 +02:00
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