m0rp43us / tgvmax-bot

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Qu'est-ce que c'est ?

TGVMax bot est un bot qui a pour but de permettre la réservation facilement et automatiquement de billet TGVMax.

Il est recommandé d'avoir des connaissances techniques (Docker/containers & reverse-proxy) pour pouvoir installer le bot.

Fonctionnalités

  • Visualisation et réservation uniquement des billets TGVMax via l'interface (sans avoir à passer par sncf-connect ou trainline)

  • Alertes avec possibilité de réservation automatique
    • Un compte Trainline Business est requis pour la réservation automatique
    • Vous pouvez configurer des alertes et être alerté via SMS (si vous êtes chez Free) ou via Telegram

  • Alertes récurrentes (voir cron)
    • Exemple: ajouter automatiquement des alertes et réserver automatiquement tous les trains le mardi entre 10h et 11h

Installation

Nous vous exposons 2 images Docker (liste) que vous devez lancer comme ci-dessous:

docker run -d --name tgvmax-frontend -p 8081:80 ghcr.io/eywek/tgvmax-bot-frontend:9ad9ed6d6aca0b98b045a75f4c6420c1f9817af4

Note: Le bot utilise SQLite comme base de données, il est donc recommandé de créer un fichier vide appelé tgvmax.sqlite et le fournir comme volume au container du backend, pour pouvoir garder la configuration au cours des mise à jours.

docker run -d --restart=on-failure --name tgvmax-backend -p 8080:8080 -v <path to sqlite>/tgvmax.sqlite:/usr/src/tgvmax.sqlite ghcr.io/eywek/tgvmax-bot-backend:9ad9ed6d6aca0b98b045a75f4c6420c1f9817af4

Reverse proxy

Pour accéder à l'interface il vous faut configurer un reverse proxy (comme Nginx) pour exposer le frontend et le backend.

upstream frontend {
    server 127.0.0.1:8081;
}

upstream backend {
    server 127.0.0.1:8080;
}

server {
    server_name mydomain.fr;

    location / {
        include proxy_params;
        proxy_pass http://frontend;
    }
    location /api {
        include proxy_params;
	proxy_buffering off;
        proxy_pass http://backend;
    }
}

About


Languages

Language:TypeScript 46.1%Language:Vue 38.9%Language:JavaScript 14.3%Language:Dockerfile 0.4%Language:HTML 0.2%Language:CSS 0.1%