feat: Move packaging scripts into dist/ and consolidate the service files

This commit is contained in:
Ginger 2025-09-02 09:35:15 -04:00 committed by Jade Ellis
commit d19e0f0d97
16 changed files with 16 additions and 183 deletions

View file

@ -10,7 +10,7 @@ on:
- ".gitlab-ci.yml" - ".gitlab-ci.yml"
- ".gitignore" - ".gitignore"
- "renovate.json" - "renovate.json"
- "debian/**" - "dist/**"
- "docker/**" - "docker/**"
- "docs/**" - "docs/**"
# Allows you to run this workflow manually from the Actions tab # Allows you to run this workflow manually from the Actions tab

View file

@ -1,84 +0,0 @@
[Unit]
Description=Continuwuity - Matrix homeserver
Wants=network-online.target
After=network-online.target
Documentation=https://continuwuity.org/
RequiresMountsFor=/var/lib/private/conduwuit
Alias=matrix-conduwuit.service
[Service]
DynamicUser=yes
Type=notify-reload
ReloadSignal=SIGUSR1
TTYPath=/dev/tty25
DeviceAllow=char-tty
StandardInput=tty-force
StandardOutput=tty
StandardError=journal+console
Environment="CONTINUWUITY_LOG_TO_JOURNALD=true"
Environment="CONTINUWUITY_JOURNALD_IDENTIFIER=%N"
Environment="CONTINUWUITY_DATABASE_PATH=/var/lib/conduwuit"
TTYReset=yes
# uncomment to allow buffer to be cleared every restart
TTYVTDisallocate=no
TTYColumns=120
TTYRows=40
AmbientCapabilities=
CapabilityBoundingSet=
DevicePolicy=closed
LockPersonality=yes
MemoryDenyWriteExecute=yes
NoNewPrivileges=yes
#ProcSubset=pid
ProtectClock=yes
ProtectControlGroups=yes
ProtectHome=yes
ProtectHostname=yes
ProtectKernelLogs=yes
ProtectKernelModules=yes
ProtectKernelTunables=yes
ProtectProc=invisible
ProtectSystem=strict
PrivateDevices=yes
PrivateMounts=yes
PrivateTmp=yes
PrivateUsers=yes
PrivateIPC=yes
RemoveIPC=yes
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
RestrictNamespaces=yes
RestrictRealtime=yes
RestrictSUIDSGID=yes
SystemCallArchitectures=native
SystemCallFilter=@system-service @resources
SystemCallFilter=~@clock @debug @module @mount @reboot @swap @cpu-emulation @obsolete @timer @chown @setuid @privileged @keyring @ipc
SystemCallErrorNumber=EPERM
StateDirectory=conduwuit
RuntimeDirectory=conduwuit
RuntimeDirectoryMode=0750
Environment=CONTINUWUITY_CONFIG=%d/config.toml
LoadCredential=config.toml:/etc/conduwuit/conduwuit.toml
BindPaths=/var/lib/private/conduwuit:/var/lib/matrix-conduit
BindPaths=/var/lib/private/conduwuit:/var/lib/private/matrix-conduit
ExecStart=/usr/bin/conduwuit
Restart=on-failure
RestartSec=5
TimeoutStopSec=4m
TimeoutStartSec=4m
StartLimitInterval=1m
StartLimitBurst=5
[Install]
WantedBy=multi-user.target

View file

@ -1,71 +0,0 @@
[Unit]
Description=Continuwuity - Matrix homeserver
Wants=network-online.target
After=network-online.target
Documentation=https://continuwuity.org/
Alias=matrix-conduwuit.service
[Service]
DynamicUser=yes
User=conduwuit
Group=conduwuit
Type=notify
Environment="CONTINUWUITY_CONFIG=/etc/conduwuit/conduwuit.toml"
Environment="CONTINUWUITY_LOG_TO_JOURNALD=true"
Environment="CONTINUWUITY_JOURNALD_IDENTIFIER=%N"
Environment="CONTINUWUITY_DATABASE_PATH=/var/lib/conduwuit"
ExecStart=/usr/sbin/conduwuit
ReadWritePaths=/var/lib/conduwuit /etc/conduwuit
AmbientCapabilities=
CapabilityBoundingSet=
DevicePolicy=closed
LockPersonality=yes
MemoryDenyWriteExecute=yes
NoNewPrivileges=yes
#ProcSubset=pid
ProtectClock=yes
ProtectControlGroups=yes
ProtectHome=yes
ProtectHostname=yes
ProtectKernelLogs=yes
ProtectKernelModules=yes
ProtectKernelTunables=yes
ProtectProc=invisible
ProtectSystem=strict
PrivateDevices=yes
PrivateMounts=yes
PrivateTmp=yes
PrivateUsers=yes
PrivateIPC=yes
RemoveIPC=yes
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
RestrictNamespaces=yes
RestrictRealtime=yes
RestrictSUIDSGID=yes
SystemCallArchitectures=native
SystemCallFilter=@system-service @resources
SystemCallFilter=~@clock @debug @module @mount @reboot @swap @cpu-emulation @obsolete @timer @chown @setuid @privileged @keyring @ipc
SystemCallErrorNumber=EPERM
#StateDirectory=conduwuit
RuntimeDirectory=conduwuit
RuntimeDirectoryMode=0750
Restart=on-failure
RestartSec=5
TimeoutStopSec=2m
TimeoutStartSec=2m
StartLimitInterval=1m
StartLimitBurst=5
[Install]
WantedBy=multi-user.target

View file

@ -9,7 +9,8 @@ Alias=matrix-conduwuit.service
DynamicUser=yes DynamicUser=yes
User=conduwuit User=conduwuit
Group=conduwuit Group=conduwuit
Type=notify Type=notify-reload
ReloadSignal=SIGUSR1
Environment="CONTINUWUITY_CONFIG=/etc/conduwuit/conduwuit.toml" Environment="CONTINUWUITY_CONFIG=/etc/conduwuit/conduwuit.toml"
@ -59,8 +60,8 @@ RuntimeDirectoryMode=0750
Restart=on-failure Restart=on-failure
RestartSec=5 RestartSec=5
TimeoutStopSec=2m TimeoutStopSec=4m
TimeoutStartSec=2m TimeoutStartSec=4m
StartLimitInterval=1m StartLimitInterval=1m
StartLimitBurst=5 StartLimitBurst=5

View file

View file

View file

@ -51,7 +51,7 @@ find .cargo/registry/ -executable -name "*.rs" -exec chmod -x {} +
%install %install
install -Dpm0755 target/rpm/conduwuit -t %{buildroot}%{_bindir} install -Dpm0755 target/rpm/conduwuit -t %{buildroot}%{_bindir}
install -Dpm0644 fedora/conduwuit.service -t %{buildroot}%{_unitdir} install -Dpm0644 dist/conduwuit.service -t %{buildroot}%{_unitdir}
install -Dpm0644 conduwuit-example.toml %{buildroot}%{_sysconfdir}/conduwuit/conduwuit.toml install -Dpm0644 conduwuit-example.toml %{buildroot}%{_sysconfdir}/conduwuit/conduwuit.toml
%files %files

View file

@ -9,24 +9,11 @@
</details> </details>
## Debian systemd unit file ## systemd unit file
<details> <details>
<summary>Debian systemd unit file</summary> <summary>systemd unit file</summary>
``` ```
{{#include ../../debian/conduwuit.service}} {{#include ../../dist/conduwuit.service}}
``` ```
</details>
## Arch Linux systemd unit file
<details>
<summary>Arch Linux systemd unit file</summary>
```
{{#include ../../arch/conduwuit.service}}
```
</details>

View file

@ -1 +1 @@
{{#include ../../debian/README.md}} {{#include ../../dist/debian/README.md}}

View file

@ -48,7 +48,7 @@
pkgs.lib.makeScope pkgs.newScope (self: { pkgs.lib.makeScope pkgs.newScope (self: {
inherit pkgs inputs; inherit pkgs inputs;
craneLib = (inputs.crane.mkLib pkgs).overrideToolchain (_: toolchain); craneLib = (inputs.crane.mkLib pkgs).overrideToolchain (_: toolchain);
main = self.callPackage ./nix/pkgs/main { }; main = self.callPackage ./dist/nix/pkgs/main { };
liburing = pkgs.liburing.overrideAttrs { liburing = pkgs.liburing.overrideAttrs {
# Tests weren't building # Tests weren't building
outputs = [ outputs = [

View file

@ -126,9 +126,9 @@ pub struct Config {
/// This is the only directory where continuwuity will save its data, /// This is the only directory where continuwuity will save its data,
/// including media. Note: this was previously "/var/lib/matrix-conduit". /// including media. Note: this was previously "/var/lib/matrix-conduit".
/// ///
/// YOU NEED TO EDIT THIS, UNLESS you are running continuwuity as a `systemd` service. /// YOU NEED TO EDIT THIS, UNLESS you are running continuwuity as a
/// The service file sets it to `/var/lib/conduwuit` using an environment variable /// `systemd` service. The service file sets it to `/var/lib/conduwuit`
/// and also grants write access. /// using an environment variable and also grants write access.
/// ///
/// example: "/var/lib/conduwuit" /// example: "/var/lib/conduwuit"
pub database_path: PathBuf, pub database_path: PathBuf,

View file

@ -32,10 +32,10 @@ a cool hard fork of Conduit, a Matrix homeserver written in Rust"""
section = "net" section = "net"
priority = "optional" priority = "optional"
conf-files = ["/etc/conduwuit/conduwuit.toml"] conf-files = ["/etc/conduwuit/conduwuit.toml"]
maintainer-scripts = "../../debian/" maintainer-scripts = "../../dist/debian/"
systemd-units = { unit-name = "conduwuit", start = false } systemd-units = { unit-name = "conduwuit", start = false }
assets = [ assets = [
["../../debian/README.md", "usr/share/doc/conduwuit/README.Debian", "644"], ["../../dist/debian/README.md", "usr/share/doc/conduwuit/README.Debian", "644"],
["../../README.md", "usr/share/doc/conduwuit/", "644"], ["../../README.md", "usr/share/doc/conduwuit/", "644"],
["../../target/release/conduwuit", "usr/sbin/conduwuit", "755"], ["../../target/release/conduwuit", "usr/sbin/conduwuit", "755"],
["../../conduwuit-example.toml", "etc/conduwuit/conduwuit.toml", "640"], ["../../conduwuit-example.toml", "etc/conduwuit/conduwuit.toml", "640"],