Gambling Discordbot
Deployment og backup
Kør bot og website med Docker eller systemd og tag sikre SQLite-backups.
Docker-image
Fra repositoryets rod:
docker build -t gambling .Registrér commands:
docker run --rm --env-file bot.env -w /app/gambling-bot \
gambling node src/deploy-commands.jsStart processerne:
docker run -d --name gambling-bot --restart unless-stopped \
--env-file bot.env -v /srv/gambling/data:/data \
-w /app/gambling-bot gambling node src/index.js
docker run -d --name gambling-website --restart unless-stopped \
--env-file website.env -v /srv/gambling/data:/data \
-p 127.0.0.1:18140:3000 \
-w /app/gambling-website-bot gambling node src/server.jsDatafolderen skal være skrivbar for containerens UID 1000.
SQLite-backup
Kopiér ikke bare databasefilen, mens processerne kører i WAL mode. Brug VACUUM INTO, så data fra WAL inkluderes:
docker run --rm -v /srv/gambling/data:/data gambling \
node -e "new (require('node:sqlite').DatabaseSync)('/data/bot.db').exec(\"VACUUM INTO '/data/bot.db.bak'\")"Systemd
Kør bot og website som samme dedikerede bruger, så begge har skriveadgang til databasen. Brug Restart=on-failure, og sæt website-processen bag en HTTPS reverse proxy.