From 1859296186d22cae6eceb1acbd9d3e347d2e76db Mon Sep 17 00:00:00 2001 From: Owen Jacobson Date: Fri, 25 Oct 2024 22:59:54 -0400 Subject: Package `hi` for Debian. This commit provides a Docker-based build process for generating `.deb` packages, which can be run in Docker Desktop. I don't love it, but it's the best option I have _right now_ for doing this. The resulting packages: * Install `hi` (and `hi-recanonicalize`), in `/usr/bin`. * Create a user (`hi`) and a data directory (`/var/lib/hi`). * Create and start a systemd service unit for `hi`. Packages are built for arm64 and amd64 (aka x86_64). --- debian/hi.service | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 debian/hi.service (limited to 'debian/hi.service') diff --git a/debian/hi.service b/debian/hi.service new file mode 100644 index 0000000..ec444c8 --- /dev/null +++ b/debian/hi.service @@ -0,0 +1,10 @@ +[Unit] +Description=Hi chat service +After=network-online.target + +[Service] +ExecStart=/usr/bin/hi --database-url sqlite:///var/lib/hi/hi.db +Restart=on-failure + +[Install] +WantedBy=multi-user.target -- cgit v1.2.3 From 2bac295504960ac4a18d7c19513160363f587f01 Mon Sep 17 00:00:00 2001 From: Owen Jacobson Date: Wed, 30 Oct 2024 00:32:17 -0400 Subject: Load DB paths from a file, rather than hard-coding them in the systemd unit. --- Cargo.toml | 8 ++++++++ debian/default | 2 ++ debian/hi.service | 3 ++- 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 debian/default (limited to 'debian/hi.service') diff --git a/Cargo.toml b/Cargo.toml index 630ebe9..c8b37e1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,6 +12,14 @@ authors = [ [package.metadata.deb] maintainer = "Owen Jacobson " maintainer-scripts = "debian" +assets = [ + # Binaries + ["target/release/hi", "/usr/bin/hi", "755"], + ["target/release/hi-recanonicalize", "/usr/bin/hi-recanonicalize", "755"], + + # Configuration + ["debian/default", "/etc/default/hi", "644"], +] [package.metadata.deb.systemd-units] diff --git a/debian/default b/debian/default new file mode 100644 index 0000000..3076699 --- /dev/null +++ b/debian/default @@ -0,0 +1,2 @@ +DATABASE_URL=sqlite:///var/lib/hi/hi.db +BACKUP_DATABASE_URL=sqlite:///var/lib/hi/backup.db diff --git a/debian/hi.service b/debian/hi.service index ec444c8..cc4a951 100644 --- a/debian/hi.service +++ b/debian/hi.service @@ -3,7 +3,8 @@ Description=Hi chat service After=network-online.target [Service] -ExecStart=/usr/bin/hi --database-url sqlite:///var/lib/hi/hi.db +EnvironmentFile=/etc/default/hi +ExecStart=/usr/bin/hi Restart=on-failure [Install] -- cgit v1.2.3