From 1c4c4a8b31a26436d0e2ba87e1ad1e034728d77a Mon Sep 17 00:00:00 2001 From: jude Date: Sun, 7 May 2023 20:59:07 +0100 Subject: [PATCH] Add deb stuff. Correct dependency on database name --- conf/default.env | 3 ++- debian/.gitignore | 2 -- debian/postinst | 13 +++++++++++++ debian/postrm | 11 +++++++++++ migrations/20210603000000_initial.sql | 8 ++++---- src/main.rs | 4 ++-- systemd/reminder-rs.service | 1 + 7 files changed, 33 insertions(+), 9 deletions(-) delete mode 100644 debian/.gitignore create mode 100644 debian/postinst create mode 100644 debian/postrm diff --git a/conf/default.env b/conf/default.env index 2eb23f0..1a7f2c7 100644 --- a/conf/default.env +++ b/conf/default.env @@ -6,7 +6,8 @@ PATREON_ROLE_ID= LOCAL_TIMEZONE= MIN_INTERVAL= -PYTHON_LOCATION= +PYTHON_LOCATION=/usr/bin/python3 +DONTRUN=web SECRET_KEY= REMIND_INTERVAL= diff --git a/debian/.gitignore b/debian/.gitignore deleted file mode 100644 index d6b7ef3..0000000 --- a/debian/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/debian/postinst b/debian/postinst new file mode 100644 index 0000000..0c2d89f --- /dev/null +++ b/debian/postinst @@ -0,0 +1,13 @@ +#!/bin/bash + +set -e + +id -u reminder &>/dev/null || useradd -r -M reminder + +if [ ! -f /etc/reminder-rs/config.env ]; then + cp /etc/reminder-rs/default.env /etc/reminder-rs/config.env +fi + +chown reminder /etc/reminder-rs/config.env + +#DEBHELPER# diff --git a/debian/postrm b/debian/postrm new file mode 100644 index 0000000..dedab7e --- /dev/null +++ b/debian/postrm @@ -0,0 +1,11 @@ +#!/bin/bash + +set -e + +id -u reminder &>/dev/null || userdel reminder + +if [ -f /etc/reminder-rs/config.env ]; then + rm /etc/reminder-rs/config.env +fi + +#DEBHELPER# diff --git a/migrations/20210603000000_initial.sql b/migrations/20210603000000_initial.sql index 458fd64..e1527dc 100644 --- a/migrations/20210603000000_initial.sql +++ b/migrations/20210603000000_initial.sql @@ -14,7 +14,7 @@ CREATE TABLE guilds ( default_avatar VARCHAR(512) DEFAULT 'https://raw.githubusercontent.com/reminder-bot/logos/master/Remind_Me_Bot_Logo_PPic.jpg' NOT NULL, PRIMARY KEY (id), - FOREIGN KEY (default_channel_id) REFERENCES reminders.channels(id) ON DELETE SET NULL + FOREIGN KEY (default_channel_id) REFERENCES channels(id) ON DELETE SET NULL ); CREATE TABLE channels ( @@ -35,7 +35,7 @@ CREATE TABLE channels ( guild_id INT UNSIGNED, PRIMARY KEY (id), - FOREIGN KEY (guild_id) REFERENCES reminders.guilds(id) ON DELETE CASCADE + FOREIGN KEY (guild_id) REFERENCES guilds(id) ON DELETE CASCADE ); CREATE TABLE users ( @@ -55,7 +55,7 @@ CREATE TABLE users ( patreon BOOLEAN NOT NULL DEFAULT 0, PRIMARY KEY (id), - FOREIGN KEY (dm_channel) REFERENCES reminders.channels(id) ON DELETE RESTRICT + FOREIGN KEY (dm_channel) REFERENCES channels(id) ON DELETE RESTRICT ); CREATE TABLE roles ( @@ -67,7 +67,7 @@ CREATE TABLE roles ( guild_id INT UNSIGNED NOT NULL, PRIMARY KEY (id), - FOREIGN KEY (guild_id) REFERENCES reminders.guilds(id) ON DELETE CASCADE + FOREIGN KEY (guild_id) REFERENCES guilds(id) ON DELETE CASCADE ); CREATE TABLE embeds ( diff --git a/src/main.rs b/src/main.rs index cf72f50..173e758 100644 --- a/src/main.rs +++ b/src/main.rs @@ -88,8 +88,8 @@ async fn main() -> Result<(), Box> { async fn _main(tx: Sender<()>) -> Result<(), Box> { env_logger::init(); - if Path::new("/etc/reminder-rs/default.env").exists() { - dotenv::from_path("/etc/reminder-rs/default.env")?; + if Path::new("/etc/reminder-rs/config.env").exists() { + dotenv::from_path("/etc/reminder-rs/config.env")?; } let discord_token = env::var("DISCORD_TOKEN").expect("Missing DISCORD_TOKEN from environment"); diff --git a/systemd/reminder-rs.service b/systemd/reminder-rs.service index 0ca2582..ab99307 100644 --- a/systemd/reminder-rs.service +++ b/systemd/reminder-rs.service @@ -2,6 +2,7 @@ Description=Reminder Bot [Service] +User=reminder Type=simple ExecStart=/usr/bin/reminder-rs Restart=always