Add Debian .deb package support

- debian/control, changelog, conffiles — package metadata
- debian/postinst — creates irc-bot system user, installs Python venv,
  symlinks runtime dirs, enables systemd services
- debian/prerm/postrm — clean stop/uninstall with purge support
- debian/systemd/ — hardened systemd units for bot and portal
- build_deb.sh — assembles and builds the .deb via dpkg-deb
- Path resolver in irc_client.py, memory.py, config_manager.py, portal/app.py:
  uses /etc/irc-bot + /var/lib/irc-bot when installed as .deb, relative
  paths otherwise (Docker/venv unchanged)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
tocmo0nlord
2026-04-17 22:16:05 -04:00
parent b154f63cfa
commit ff3f6fe05b
13 changed files with 302 additions and 18 deletions

View File

@@ -7,9 +7,14 @@ import sys
logger = logging.getLogger(__name__)
CONFIG_PATH = "config/config.json"
PID_PATH = "data/ircbot.pid"
SOCK_PATH = "data/ircbot.sock"
if os.path.isdir("/etc/irc-bot"):
CONFIG_PATH = "/etc/irc-bot/config.json"
PID_PATH = "/var/lib/irc-bot/ircbot.pid"
SOCK_PATH = "/var/lib/irc-bot/ircbot.sock"
else:
CONFIG_PATH = "config/config.json"
PID_PATH = "data/ircbot.pid"
SOCK_PATH = "data/ircbot.sock"
def load_config() -> dict: