Commit Graph
19 Commits
Author SHA1 Message Date
l.kirchner 1dd89e25bc feat(nexus): runtime provisioning for the decided stack (nexus-hub K-101)
- new install/nexus-runtime.sh (idempotent, re-runnable on an existing
  LXC): uv for the nexus user (manages Python 3.12), tesseract deu+eng,
  nexus-worker.service unit (ConditionPathExists guards the skeleton
  phase), sudoers extended to cover the worker service
- nexus-install.sh: RUNTIME section now invokes nexus-runtime.sh at the
  end of the install (after base sudoers/units, which it extends)
2026-06-11 14:48:53 +02:00
l.kirchner 34ac5a05f6 feat: nexus installer — Host-Mode-Runner, App-User, Service-Skeleton, enge sudoers 2026-06-10 23:42:38 +02:00
l.kirchner 5379586545 feat: nexus LXC template — Host-Mode-Runner + Deploy-as-Code (Skeleton bis Stack-Entscheidung) 2026-06-10 23:41:57 +02:00
l.kirchner 3012245c93 Merge pull request 'Set container DNS from the VLAN tag via a network profile (incl. DHCP)' (#2) from network-profiles into main
Reviewed-on: #2
2026-06-07 21:25:27 +02:00
l.kirchner 953ef3001e build.func: set DNS from VLAN tag via network profile (incl. DHCP)
Adds apply_network_profile(), which looks up DNS servers for the entered
VLAN tag in lib/networks.conf and sets --nameserver accordingly — even
when IP is DHCP. Precedence: explicit env NAMESERVER > profile > static
prompt > inherit. Comma-separated DNS is normalised to spaces for pct.
2026-06-07 21:22:19 +02:00
l.kirchner 3a805b8bda Add network profiles file (VLAN tag → DNS servers)
Data file mapping a VLAN tag to its DNS servers and subnet, so build.func
can set the right resolvers from the tag entered at install time — even
with DHCP. New networks are a one-line addition here.
2026-06-07 21:21:05 +02:00
l.kirchner 1d6a15c962 Merge pull request 'Add webapp: Next.js LXC with deploy-as-code via Gitea Actions runner' (#1) from add-webapp into main
Reviewed-on: #1
2026-06-05 02:33:37 +02:00
l.kirchner ab839b0e85 README: add webapp to the available scripts table 2026-06-05 02:29:35 +02:00
l.kirchner 601abeef4c Add webapp in-container installer (Node + act_runner host mode)
Installs Node.js and act_runner in host mode, registers the runner as
the unprivileged webapp user, and wires up systemd units for the runner
and the next-start service. A narrow sudoers rule lets the runner restart
only webapp.service; the build/deploy itself is driven by the repo workflow.
2026-06-05 02:29:15 +02:00
l.kirchner ddd22b175e Add webapp installer: Next.js site via self-hosted Gitea Actions runner
Host-side script that creates an unprivileged Debian 12 LXC, installs
Node.js + act_runner in host mode, and registers it against the Gitea
instance. Deploy logic lives in the repo's .gitea/workflows/deploy.yml
(deploy-as-code); the runner polls outbound, so no inbound port.
2026-06-05 02:28:20 +02:00
l.kirchner 42aad8a117 fix(build): add DNS server prompt for static IPs + better network diagnostics
For DHCP setups DNS is delivered with the lease, but with a static IP the
container inherits /etc/resolv.conf from the PVE host - which is often
unreachable from the container's VLAN.

Changes:
- New NAMESERVER prompt (only shown for static IPs, defaults to gateway)
- pct create now passes --nameserver when set
- Network wait loop tests L3 and DNS separately so failures point at the
  actual cause (no route to gateway vs. bad DNS server)
- Refactored pct create args into an array for cleaner conditional flags
2026-05-22 00:11:49 +02:00
l.kirchner b93ec8b553 fix(build): rename HOSTNAME -> CT_HOSTNAME (shadowed bash builtin), add VLAN_TAG prompt, fail fast on network timeout
HOSTNAME is a bash built-in always containing the host's name, so the
"-z HOSTNAME" check never fired and the prompt was silently skipped —
containers ended up named after the Proxmox host.

Also added an optional VLAN tag prompt (empty = no tag), and the network
wait loop now exits with an error if the network never comes up instead
of silently proceeding to a guaranteed-broken apt-get update.
2026-05-21 23:32:12 +02:00
l.kirchner 7343501b25 Add docs/adding-a-script.md 2026-05-21 23:05:38 +02:00
l.kirchner 3614475402 Add install/devpi-install.sh: in-container installer for devpi 2026-05-21 23:05:15 +02:00
l.kirchner 87d68d9aba Add ct/devpi.sh: host-side installer for devpi 2026-05-21 23:03:38 +02:00
l.kirchner bf5afc7d26 Add lib/install.func: shared in-container helpers 2026-05-21 23:03:26 +02:00
l.kirchner 9a57d30433 Add lib/build.func: shared host-side helpers 2026-05-21 23:02:02 +02:00
l.kirchner d5b9f56535 Add MIT license 2026-05-21 23:01:20 +02:00
l.kirchner 2b4f08c5eb Initial commit: README 2026-05-21 23:00:07 +02:00