Leuke sticker bot voor de feuten
- NodeJS >= 17
- Docker
- Docker-Compose
De bot heeft een aantal environment variables nodig om te kunnen draaien, deze zijn:
| key | value |
|---|---|
| TELEGRAM_TOKEN | Een Telegram API bot token |
| DATABASE_URL | De postgresql connection string (in te stellen in docker-compose.yml) |
| ADMIN | Telegram ID voor de gebruiker met admin rechten (vind je id met de /tid command) |
| GEOCODER_KEY | API sleutel van LocationIQ, voor de geocoder |
| PHOTO_PATH | Pad naar de map waar de fotos opgeslagen moet worden (bijv. ./photos) |
Om de bot lokaal te draaien start je eerst de database op met
docker-compose upDaarna kan je de bot opstarten met
npm run devOm in de database te kijken kan je prisma studio gebruiken
npx prisma studioDeze bot 24/7 draaien is een fluitje van een cent, aangezien alles al in docker draait.
Het enige waar je voor moet zorgen is een postgresql database, entry.sh zorgt ervoor dat de database in orde is. Als eerst bouw je de docker container:
docker build --tag invictus-bot -f Dockerfile-prod .Daarna kan je deze draaien met
docker run -it invictus-bot -e TELEGRAM_TOKEN "telegram token" -e DATABASE_URL "database url" -e ADMIN "admin id" -e GEOCODER_KEY "geocoder api sleutel" -e PHOTO_PATH "/pad/naar/foto/map" invictus-botBestanden gemaakt in docker containers worden opgeslagen op specifieke plekken, dit kan afgevangen worden in een volume als je dat wilt.
| Container | Path |
|---|---|
| Postgresql | /var/lib/postgresql/data |
| Bot | /app/photos |