Changeset f434294 in Klonkt for deploy


Ignore:
Timestamp:
07/31/2026 02:02:34 PM (6 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
0ca7e9a4
Parents:
5462bab
Message:

Maskeer de oude klonkt.service bij de split, hij stond op te staan uit de dood

Op boiert.eu verscheen na de update opnieuw een /opt/klonkt/storage. Oorzaak:
de migratie deed alleen systemctl disable op klonkt.service, maar disable
haalt uitsluitend de autostart weg. Een systemctl restart klonkt start zo'n
unit alsnog, en precies dat staat in elke updater die voor de split is
gegenereerd.

De opgestane klonkt.service heeft WorkingDirectory=/opt/klonkt en geen
EnvironmentFile, terwijl zijn .env met de data mee is verhuisd naar
/var/lib/klonkt/<slug>/. Hij start dus zonder enige config, valt terug op de
ingebouwde standaardpaden en schrijft een verse lege database in de checkout.
Afhankelijk van wie de poort pakt levert dat een lege site op, of een
crashende unit die bij elke herstart de map opnieuw aanmaakt.

Disable is dus niet genoeg: de unit wordt nu ook gemaskeerd, zodat elke
aanroep hard faalt in plaats van stilletjes een tweede proces te starten.
Omkeerbaar met systemctl unmask.

Changed files:
scripts/klonkt-migrate-data.sh

  • oude unit wordt gestopt, uitgezet en gemaskeerd
  • test op list-unit-files in plaats van is-enabled, zodat een al uitgezette unit niet wordt overgeslagen

scripts/klonkt-refresh-updater.sh

  • maskeert de oude unit alsnog op een gesplitste installatie, zodat al gemigreerde servers zichzelf repareren
  • waarschuwt als er een storage/ in de checkout staat, met het commando om te controleren of er iets in zit; verwijdert nooit zelf

deploy/MULTI-INSTANCE.md

  • rollback bijgewerkt: unmask hoort er nu bij, met de reden

-robo
Co-Authored-By: Claude Fable 5 <noreply@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • deploy/MULTI-INSTANCE.md

    r5462bab rf434294  
    8484because the port comes from the same `.env`.
    8585
    86 **Rolling back.** The old `klonkt.service` is disabled but not deleted. To go
    87 back, move the data into `/opt/klonkt/storage`, restore the relative paths in
    88 `.env`, and run `systemctl enable --now klonkt`.
     86**Rolling back.** The old `klonkt.service` is disabled and masked, not deleted.
     87Masked because `disable` alone does not stop `systemctl restart klonkt` from
     88starting it again, and a resurrected unit no longer finds its `.env` (that moved
     89with the data): it would fall back to the defaults and write a fresh empty
     90database into the checkout. To go back, move the data into `/opt/klonkt/storage`,
     91restore the relative paths in `.env`, then `systemctl unmask klonkt` and
     92`systemctl enable --now klonkt`.
    8993
    9094## Adding an instance
Note: See TracChangeset for help on using the changeset viewer.