nxy irc bot
bot | ||
files | ||
.gitignore | ||
FORMATTING.md | ||
README.md | ||
requirements.txt | ||
TODOs | ||
tox.ini |
Installation
Open psql as user postgres
:
psql -U postgres
Create a user with password, allowed to login and a database:
CREATE ROLE nxy WITH ENCRYPTED PASSWORD 'your-password';
ALTER ROLE nxy LOGIN;
CREATE DATABASE nxy_prod OWNER nxy;
\c nxy_prod
CREATE EXTENSION citext;
\q
Apply database schema and optionally restore a dump:
psql -U nxy -d nxy_prod < nxy/files/schema.sql
psql -U nxy -d nxy_prod < path/to/dump.sql
Clone git repo, create virtual env, activate it and install dependencies:
git clone https://gitfap.de/mrhanky/nxy.git
python3 -m venv env
source env/bin/activate
pip install -U -r nxy/requirements.txt
Copy sample configs to $HOME
and edit them:
cp nxy/files/{.env,config.json} .
vim .env config.json
Running as Service
Enable linger for the bot user (so it starts at boot and keeps running), install and activate systemd unit:
sudo loginctl enable-linger nxy
mkdir -p $HOME/.config/systemd/user
ln -fs $HOME/nxy/files/nxy-bot.service $HOME/.config/systemd/user
systemctl --user enable --now nxy-bot.service
Install and activate timer for database dumps:
ln -fs $HOME/nxy/files/nxy-db-dump.{timer,service} $HOME/.config/systemd/user
systemctl --user enable --now nxy-db-dump.timer
Running as Standalone in Development Mode
For development set the BOT_DEV variable:
export BOT_DEV=
Then add the current git repository to your python path:
export PYTHONPATH=<git repository>:$PYTHONPATH
Finally run nxy:
python3 -m bot