Commit 53f555a0 authored by jan.koester's avatar jan.koester
Browse files

Refactor container deployment & fix Node embed crashes

- Extracted minimal container environment into `blogi-env`.
- Moved nspawn rootfs from `/opt/blogi` to `/var/spool/blogi`.
- Fixed `v8::HandleScope` crash when calling Node from C++ using direct `fn->Call()` (dropping `MakeCallback`).
- Fixed widget parsing correctly executing `createRequire` so widgets aren't treated as built-ins by Node `127`.
- Updated container tmp path logic so widgets correctly utilize `/var/spool/blogi`.
parent da367ab3
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -42,6 +42,13 @@ case "$1" in
        if [ -d /var/lib/blogi-editor ]; then
            chown 998:998 /var/lib/blogi-editor
        fi

        # Install default editor config in container if none exists
        if [ -d /var/spool/blogi ] && [ ! -f /var/spool/blogi/etc/blogi-editor/config.yaml ]; then
            mkdir -p /var/spool/blogi/etc/blogi-editor
            cp /usr/share/blogi-editor/blogi-editor.default-config.yaml /var/spool/blogi/etc/blogi-editor/config.yaml
            chmod 640 /var/spool/blogi/etc/blogi-editor/config.yaml
        fi
        ;;
esac

+1 −1
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ After=network.target
Type=simple
ExecStart=/usr/bin/systemd-nspawn \
    --machine=blogi-editor \
    --directory=/opt/blogi \
    --directory=/var/spool/blogi \
    --ephemeral \
    --bind=/etc/blogi-editor:/etc/blogi-editor \
    --bind=/var/lib/blogi-editor:/var/lib/blogi-editor \
+0 −7
Original line number Diff line number Diff line
@@ -42,13 +42,6 @@ case "$1" in
        if [ -d /var/lib/blogi ]; then
            chown 999:999 /var/lib/blogi
        fi

        # Install default editor config in container if none exists
        if [ -d /opt/blogi ] && [ ! -f /opt/blogi/etc/blogi-editor/config.yaml ]; then
            mkdir -p /opt/blogi/etc/blogi-editor
            cp /usr/share/blogi-editor/blogi-editor.default-config.yaml /opt/blogi/etc/blogi-editor/config.yaml
            chmod 640 /opt/blogi/etc/blogi-editor/config.yaml
        fi
        ;;
esac

+1 −1
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ After=network.target authdb.service
Type=simple
ExecStart=/usr/bin/systemd-nspawn \
    --machine=blogi \
    --directory=/opt/blogi \
    --directory=/var/spool/blogi \
    --ephemeral \
    --bind=/etc/blogi:/etc/blogi \
    --bind=/var/lib/blogi:/var/lib/blogi \
+1 −1
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ blogi (20260521+8) unstable; urgency=medium

  * Fix musl-clang++ and musl-clang wrappers: add CRT objects (crt1.o,
    crti.o, crtn.o) to -nostdlib link step — fixes entry point 0x0 SEGV
  * Build self-contained chroot rootfs at /opt/blogi with all musl libs
  * Build self-contained chroot rootfs at /var/spool/blogi with all musl libs
  * Remove User= from nspawn config, blogi handles privilege dropping
  * Add /etc/passwd and /etc/group to container rootfs for libuuidp
  * Create /var/log/blogi directory in container rootfs
Loading