Commit Graph
13 Commits
Author SHA1 Message Date
NixReaper 5881f06cbc fix: always clean-clone source dir, drop stale master refspec workaround
The old .git/config in /opt/nixpanel/src had a fetch refspec pointing to
refs/heads/master (from before the branch rename). Re-running the installer
with that directory present caused 'git fetch' to fail with 'couldn't find
remote ref refs/heads/master'.

Fix: rm -rf the source dir before cloning whenever the source step hasn't
been marked done, so we always get a clean checkout with the correct branch.
2026-04-25 09:37:40 -05:00
NixReaper 5cefe15f6a fix: make git clone fallback explicitly use main branch
The releases API returns 404 when no releases exist, causing the installer
to fall back to 'main'. However, the fallback clone was not explicitly
specifying a branch, which could cause issues if the repository's default
branch configuration is in an inconsistent state. Now the fallback clone
also explicitly uses --branch main to ensure consistent behavior.
2026-04-25 09:26:56 -05:00
NixReaper e58769a4bd feat: add NixServer and NixClient React UIs, wire into installer
- nixserver/: React 18 + TypeScript + Vite + Tailwind
  - Login page + placeholder admin dashboard with card grid
  - Blue accent color (#3b82f6)
  - Full Tailwind + PostCSS + TypeScript setup
- nixclient/: identical structure, user-facing panel
  - Green accent color (#10b981)
  - Same build tooling as NixServer
- install.sh: new 'Building NixServer & NixClient UIs' step
  - npm install + npm run build for each
  - Outputs to /opt/nixpanel/nixserver/dist and /opt/nixpanel/nixclient/dist
  - Both panels immediately accessible via Apache on 2087 and 2083
  - Skips gracefully if source not present (early dev)
2026-04-25 09:22:12 -05:00
NixReaper 4994d33fd5 ci: fix security workflow — drop CodeQL, fix ShellCheck severity
- Remove CodeQL job: this repo has no JS/TS or Rust source code,
  so CodeQL exits with error 32 ('no source code seen during build')
  on every run. CodeQL belongs on nixpanel-website/nixpanel-licensing.
- cargo-audit: skip Rust toolchain install entirely when no Cargo.toml
  present (saves ~3 min of wasted CI time); use step output condition
- ShellCheck: severity error->only fails on real errors, not style
  warnings; pin to ludeeus/[email protected] (not @master)
- Rename workflow to 'Security Audit' (CodeQL is no longer included)
2026-04-25 08:54:20 -05:00
NixReaper f063af70d8 ci: add CodeQL, cargo-audit, and ShellCheck security scanning
- CodeQL: scans JS/TS with security-extended + security-and-quality queries
- cargo-audit: scans Rust dependencies for known CVEs (--deny warnings)
- ShellCheck: lints install.sh and all shell scripts for bugs/vulnerabilities
- Runs on push to master, PRs, and weekly on Mondays at 08:00 UTC
2026-04-25 05:17:52 -05:00
NixReaper 776d328ace security: add SECURITY.md policy and enable GitHub security features
- SECURITY.md: reporting instructions (private advisory + email),
  scope, disclosure policy, post-install hardening tips
- Enabled via API: Dependabot alerts, private vulnerability reporting
2026-04-25 05:17:11 -05:00
NixReaper 01e64d5c61 chore: remove private repo references from public changelog 2026-04-25 05:13:53 -05:00
NixReaper 8b1e42171a chore: polish repo — README badges, CHANGELOG, LICENSE, install.sh cleanup
- README: add shields.io badges, fix stack (Rust, not Node.js),
  add licensing plan table, improve structure throughout
- CHANGELOG: proper Keep a Changelog format, document v0.1.0-alpha
- LICENSE: expand source-available terms with clearer restrictions
- install.sh: strip licensing/website-api build steps (those run on
  nixpanel.io/license.nixpanel.io, not on customer servers); add
  license key prompt + activation against license.nixpanel.io; keep
  only the panel DB; fix Apache to only expose ports 2083/2087
2026-04-25 05:05:04 -05:00
NixReaper f54b5cd582 fix: self-update + fold PPA into packages step
On Ubuntu 24.04, PHP 8.2 is not in the default apt repos.
The ondrej/php PPA must be added before package installation.

Previously this was a separate step that could be bypassed when
running a locally-cached (pre-fix) copy of install.sh.

Changes:
- Add self-update block: script fetches latest version from GitHub
  and re-execs itself, so stale local copies are never used
- Remove standalone php_ppa step; PPA is now added unconditionally
  inside the packages step (checks if already present to avoid
  duplicate adds on re-runs)
- Idempotent: grep checks sources.list before calling
  add-apt-repository
2026-04-23 17:43:05 -05:00
NixReaper 6f2a2bac6b fix: add ondrej/php PPA before package install — required for PHP 8.2 on Ubuntu 24.04 2026-04-23 17:32:59 -05:00
NixReaper fa9102f7db chore: add .gitattributes — enforce LF line endings for shell scripts and source files 2026-04-23 17:29:22 -05:00
NixReaper c919378d32 feat: update installer — Rust build, MariaDB setup, RSA keygen, all systemd services 2026-04-23 17:08:59 -05:00
NixReaper db2e4f8959 chore: initial public repo — README, install script, changelog, license 2026-04-11 15:48:55 -05:00