Commit f34b2ac3 authored by jan.koester's avatar jan.koester
Browse files

deb updated

parent 6771263d
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
WEBEDIT:
  HTTP:
    BIND: "0.0.0.0"
    PORT: 8090
    MAXCON: 256
  SSL:
    CERT: ""
    KEY: ""
    PASSWORD: ""
  DATABASE:
    DRIVER: "sqlite"
    CONNECTION: "/var/lib/blogi-editor/webedit.db"
  PLUGINDIR:
    - "/usr/lib/blogi/plugins/webedit"
  HTMLDIR: "/usr/share/blogi-editor/html"
  PREFIX: ""
+2 −2
Original line number Diff line number Diff line
usr/bin/blogi-editor
usr/lib/blogi/plugins/webedit/
usr/share/applications/blogi-editor.desktop
usr/share/icons/hicolor/scalable/apps/blogi-editor.svg
usr/lib/blogi/libblogidev.a
usr/share/blogi-editor/html/
+18 −0
Original line number Diff line number Diff line
[Exec]
Boot=no
Parameters=/usr/bin/blogi-editor -c yaml:/etc/blogi-editor/config.yaml
WorkingDirectory=/var/lib/blogi-editor
NotifyReady=no

[Files]
# Configuration from host
BindReadOnly=/etc/blogi-editor

# Writable state directory
Bind=/var/lib/blogi-editor

# DNS resolution
BindReadOnly=/etc/resolv.conf

[Network]
VirtualEthernet=no
+50 −0
Original line number Diff line number Diff line
#!/bin/sh
set -e

case "$1" in
    configure)
        # Create system user on the host (for file ownership)
        if ! getent passwd blogi-editor >/dev/null 2>&1; then
            adduser --system --group --home /var/lib/blogi-editor \
                --no-create-home --disabled-login --quiet blogi-editor
        fi

        # Install default config if none exists
        if [ ! -f /etc/blogi-editor/config.yaml ]; then
            mkdir -p /etc/blogi-editor
            cp /usr/share/blogi-editor/blogi-editor.default-config.yaml /etc/blogi-editor/config.yaml
            chmod 640 /etc/blogi-editor/config.yaml
            chown root:blogi-editor /etc/blogi-editor/config.yaml
        fi

        # Generate self-signed SSL certificate in DER format if none exists
        if [ ! -f /etc/blogi-editor/ssl/cert.der ]; then
            mkdir -p /etc/blogi-editor/ssl
            chown blogi-editor:blogi-editor /etc/blogi-editor/ssl
            chmod 750 /etc/blogi-editor/ssl
            su -s /bin/sh -c '
                openssl req -x509 -newkey rsa:4096 -nodes \
                    -keyout /tmp/blogi_editor_key.pem \
                    -out /tmp/blogi_editor_cert.pem \
                    -days 3650 \
                    -subj "/CN=blogi-editor/O=blogi/OU=auto-generated" && \
                openssl x509 -in /tmp/blogi_editor_cert.pem -outform DER \
                    -out /etc/blogi-editor/ssl/cert.der && \
                openssl rsa -in /tmp/blogi_editor_key.pem -outform DER \
                    -out /etc/blogi-editor/ssl/key.der && \
                rm -f /tmp/blogi_editor_key.pem /tmp/blogi_editor_cert.pem
            ' blogi-editor
            chmod 600 /etc/blogi-editor/ssl/key.der
            chmod 644 /etc/blogi-editor/ssl/cert.der
        fi

        # Ensure container state directory ownership
        if [ -d /opt/blogi-editor/var/lib/blogi-editor ]; then
            chown 998:998 /opt/blogi-editor/var/lib/blogi-editor
        fi
        ;;
esac

#DEBHELPER#

exit 0
+20 −0
Original line number Diff line number Diff line
[Unit]
Description=Blogi Editor Web Server (nspawn container)
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/systemd-nspawn \
    --machine=blogi-editor \
    --directory=/opt/blogi-editor \
    --settings=override \
    --keep-unit \
    --as-pid2 \
    --quiet
Restart=on-failure
RestartSec=5
KillMode=mixed
TimeoutStopSec=30

[Install]
WantedBy=multi-user.target
Loading