MrFaws Docs
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.js

Start 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.js

Datafolderen 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.

On this page