Commit graph

84 commits

Author SHA1 Message Date
Ramon
8b29553a71 v0.5.00-beta - containerbeheer, eigen IP-adressen, veiliger installeren
Some checks failed
Deploy server-up (dev) / deploy (push) Failing after 3s
- Beheer per container: de stackkaart klapt uit naar de losse containers, met
  start/stop/herstart, logs en live CPU-/geheugengebruik per container. De
  containernaam wordt getoetst aan compose_ps van díé stack, zodat de route
  geen willekeurige container op de host kan raken.
- Stacks met een eigen IP-adres (macvlan/ipvlan): netwerkbeheer onder
  Instellingen → Netwerken, netwerkkeuze in de installatiemodal met voorstel
  voor het eerstvolgende vrije adres, en automatische omzetting van het
  gerenderde compose-bestand (poortmappings eruit, ipv4_address erin). De
  templates in apps/ blijven ongewijzigd.
- Toegekende IP's worden vastgehouden in .serverup.json en getoond op de
  stackkaart, zodat een volgende installatie ze niet opnieuw uitdeelt.
- Vrije poort voorstellen bij installeren: next_free_port() bestond al maar
  werd nergens gebruikt. Bezette poorten worden in de UI gemeld.
- Genereerknop voor velden die op een geheim wijzen (token/password/secret),
  lokaal gegenereerd via crypto.getRandomValues.
- Compose valideren met `docker compose config` vóór het wegschrijven, zowel
  bij de editor als na het renderen bij installatie. Ontbreekt de compose-CLI,
  dan blokkeert dat een installatie niet.
- Uitloggen in de zijbalk; gebruikersbeheer en wachtwoord wijzigen onder
  Instellingen → Beveiliging.
- docs/netwerken.md (incl. de shim-interface die de host nodig heeft om zijn
  eigen macvlan-containers te bereiken) en docs/beveiliging.md toegevoegd.
- CHANGELOG bijgewerkt; testsuite uitgebreid naar 112 tests.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C7oLCRYzY5ixJ5Sv8Y8EFb
2026-07-26 14:51:32 +02:00
Ramon
916e54a229 v0.5.00-beta - authenticatie + beveiligingsfixes
Server Up beheerde de Docker-daemon als root zonder enige vorm van
authenticatie: elke /api/*-route was gelijk aan root-toegang op de host.

- Authenticatie toegevoegd (core/auth.py): lokale accounts met scrypt-hash,
  sessiecookie (HttpOnly, SameSite=Strict) en optionele trusted-proxy-header
  SSO die alleen vanaf geconfigureerde proxy-IP's wordt vertrouwd.
- before_request-guard schermt alle API-routes af; loginscherm en
  eerste-account-setup in de UI.
- CSRF-token verplicht op elke mutatie; GET-varianten van state-wijzigende
  routes verwijderd (o.a. /api/docker/restart was via <img> te triggeren).
- Path traversal in /api/store/install gedicht; gedeelde safe_name()-validatie
  voor stack-, instantie- en repo-namen.
- Git-tokens worden niet meer teruggegeven via /api/repos en /api/settings
  (has_token-vlag); settings-PUT wist een bestaand token niet meer en kan AUTH
  niet overschrijven.
- Git-URL's beperkt tot http(s)/ssh/scp-syntax; ext::-transport (voert een
  shell-commando uit) en file:// worden geweigerd.
- Boilerplate-templates renderen in een SandboxedEnvironment (SSTI).
- Automatisch syncen van repo's bij boot standaard uit (AUTO_SYNC_ON_BOOT),
  optionele commit-pinning per repo.
- Waitress in plaats van de Flask-ontwikkelserver, MAX_CONTENT_LENGTH,
  ProxyFix, en CSP/X-Frame-Options/nosniff/Referrer-Policy headers.
- Front-end libraries (Tailwind, Alpine, htmx) lokaal meegeleverd i.p.v. CDN;
  Google Fonts verwijderd. Werkt nu ook offline.
- SSH host-key-verificatie aan (accept-new + /data/known_hosts).
- Lichte /healthz voor de healthcheck i.p.v. `docker info`.
- config.json en secret.key met 0600-rechten.
- Poort standaard op 127.0.0.1 gebonden.
- Audit-log gebruikt één gedeelde SQLite-verbinding (fd-lek per job verholpen);
  joblogs afgekapt op 2000 regels.
- VERSION-bestand is de enige bron voor het versienummer.
- pytest-suite toegevoegd (74 tests) en als stap in beide deploy-workflows.
- fix-config.sh verwijderd (hardgecodeerd intern IP, overschreef config).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C7oLCRYzY5ixJ5Sv8Y8EFb
2026-07-26 14:40:05 +02:00
bes-r
7eee8ba8ca v0.4.60 - VERSION leesfix (LF)
All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 45s
Deploy server-up (prod) / deploy (push) Successful in 3s
Release / release (push) Successful in 3s
2026-06-06 22:26:22 +02:00
bes-r
82f68278f6 v0.4.60 - tweecijferig patch-nummer 2026-06-06 22:16:10 +02:00
bes-r
fd9b6ff53d v0.4.6 - kaal versienummer, geen -dev/-rc suffix 2026-06-06 22:12:15 +02:00
bes-r
7dd83f0a88 v0.4.5 - releases + update-check
All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 1m2s
Deploy server-up (prod) / deploy (push) Successful in 41s
Release / release (push) Successful in 5s
2026-06-06 22:04:04 +02:00
bes-r
7dfb6a0abb v0.4.4 - versienummer uit centraal VERSION-bestand
All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 46s
2026-06-06 21:36:32 +02:00
bes-r
1eab7c07df v0.4.3 - auto-logo's legacy-apps + fix lege Docker Images
All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 53s
2026-06-06 21:13:32 +02:00
bes-r
9b388af0cc v0.4.1 - fix: @apply anim brak alle Tailwind-styling
All checks were successful
Deploy server-up (prod) / deploy (push) Successful in 51s
Deploy server-up (dev) / deploy (push) Successful in 4s
2026-06-06 20:53:14 +02:00
bes-r
79ab901d9e v0.4.0 - nieuw UI-ontwerp + SU_VERSION via build-arg/env (fix vdev)
All checks were successful
Deploy server-up (prod) / deploy (push) Successful in 6s
2026-06-06 14:00:15 +02:00
bes-r
49d3d82344 ci: build.yml alleen handmatig (server bouwt zelf)
All checks were successful
Deploy server-up (prod) / deploy (push) Successful in 44s
2026-06-02 23:57:57 +02:00
9798c938cb Merge pull request 'Update boilerplates' (#1) from dev into main
All checks were successful
Deploy server-up (prod) / deploy (push) Successful in 8s
Reviewed-on: http://localhost:3000/bes-r/server-up/pulls/1
2026-06-02 23:35:17 +02:00
daeb159ad6 Merge branch 'main' into dev
All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 22s
2026-06-02 23:29:54 +02:00
bes-r
34edd95c9b v0.3.1 - UI restyle, inklapbaar menu, taalmodule
Some checks failed
Deploy server-up (prod) / deploy (push) Successful in 6s
Build and push image / build (push) Has been cancelled
2026-06-02 23:25:30 +02:00
bes-r
d866a13c20 UI: grotere/mobielvriendelijke restyle, inklapbaar menu, taalmodule add-on
Some checks failed
Deploy server-up (prod) / deploy (push) Failing after 5s
2026-06-02 23:07:27 +02:00
bes-r
f96a9407d5 fix: voorkom duplicate repo-IDs bij toevoegen via UI 2026-05-30 00:55:16 +02:00
bes-r
e5ef3b02b7 Merge branch 'dev'
Some checks failed
Deploy server-up (prod) / deploy (push) Failing after 10s
2026-05-30 00:40:06 +02:00
bes-r
d94d38a314 feat: MCP-server boilerplates voor Forgejo en Home Assistant
All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 23s
2026-05-29 21:57:32 +02:00
bes-r
5c174cecbc Merge branch 'dev'
Some checks failed
Deploy server-up (prod) / deploy (push) Has been cancelled
2026-05-27 00:31:01 +02:00
bes-r
e5effe4089 feat: nieuwe boilerplates + hardcoded waarden variabel gemaakt
All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 8s
2026-05-27 00:08:55 +02:00
bes-r
31aa2a3430 feat: boilerplates voor Unifi, ARR-stack, qBittorrent en SABnzbd
All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 14s
2026-05-27 00:01:28 +02:00
bes-r
99128a5fd9 fix: docker tag van latest naar versie, niet andersom
All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 21s
2026-05-26 23:36:13 +02:00
bes-r
0f3bf8527f fix: rsync --no-group + chown op server gedaan 2026-05-26 23:30:57 +02:00
bes-r
955f8d1a91 ci: retrigger na rsync installatie
Some checks failed
Deploy server-up (dev) / deploy (push) Failing after 2s
2026-05-26 23:29:30 +02:00
bes-r
0da06d1d06 ci: retrigger na node installatie
Some checks failed
Deploy server-up (dev) / deploy (push) Failing after 6s
2026-05-26 23:27:37 +02:00
bes-r
590760813d fix: DEPLOY_DIR naar /opt/docker/server-up
Some checks failed
Deploy server-up (dev) / deploy (push) Failing after 1s
2026-05-26 23:24:28 +02:00
bes-r
6b1e9c8faf ci: dev/prod workflow splitsing
Some checks failed
Deploy server-up (dev) / deploy (push) Failing after 0s
2026-05-26 22:51:46 +02:00
bes-r
9fb96fe1bc v0.3.02 - Boilerplate fixes
Some checks failed
Deploy server-up / deploy (push) Has been cancelled
2026-05-20 20:40:06 +02:00
bes-r
0b8e3dffb8 v0.3.01 — boilerplate fixes + git-driven versioning
Some checks failed
Deploy server-up / deploy (push) Has been cancelled
2026-05-19 23:44:56 +02:00
bes-r
e34c5ebff6 Renamed app to server-up
Some checks failed
Deploy server-up / deploy (push) Has been cancelled
2026-05-16 15:26:11 +02:00
bes-r
9b299bf532 Added more docker boilerplates
Some checks are pending
Deploy server-up / deploy (push) Waiting to run
2026-05-16 15:21:58 +02:00
60bf1a92f7 Update .forgejo/workflows/deploy.yml
Some checks failed
Deploy server-up / deploy (push) Has been cancelled
Push image tag
Push version tag
Push latest
2026-05-11 23:33:57 +02:00
29b123d133 Add .forgejo/workflows/deploy.yml
Some checks are pending
Deploy to production / deploy (push) Waiting to run
2026-05-11 23:28:00 +02:00
bes-r
5580d5ec69 Initial commit: Server Up v0.3.0 2026-05-09 13:55:29 +00:00