diff --git a/README.md b/README.md index a80508563e36f211dbf26edc32ba318b56dd978f..f4fb21636c931452e506f3af91c5d33e01d62402 100644 --- a/README.md +++ b/README.md @@ -58,11 +58,25 @@ sur civet: ## Démarrer automatiquement le service CransTicket lors du boot de la machine + Pour que les tickets puissent être imprimés sans avoir besoin de lancer manuellement le service sur la raspberry, il faut : +### Avec l'initscript * Placer l'initscript de cransticket dans `/etc/init.d/` * Entrer la commande suivante # update-rc.d cransticket defaults +### Avec systemd + * créer un user cransticket sans mdp: + # adduser --disabled-login --disabled-password cransticket + * ajouter cransticke au group dialout: + #usermod -a -G dialout cransticket + * cloner le dépot dans le home de cransticket + * copier cransticket.service dans /etc/systemd/system/: + # cp /home/cransticket/cransticket/cransticket.service /etc/systemd/system/ + * activer l'unit file dans systemd: + # systemctl daemon-reload + # systemctl enable cransticket.service + # Chiffrer la carte de la ticketeuse Pour protéger les données stockées sur la carte des ticketeuses, on chiffre sa partition racine. diff --git a/cransticket.service b/cransticket.service new file mode 100644 index 0000000000000000000000000000000000000000..2bf463642da546dd8704ce9ebb2e95400b036dbe --- /dev/null +++ b/cransticket.service @@ -0,0 +1,12 @@ +[Unit] +Description=Cransticket daemon + +[Service] +Type=simple +ExecStart=/home/cransticket/cransticket/daemon.py -fg +Restart=on-failure +WorkingDirectory=/ +User=cransticket + +[Install] +WantedBy=multi-user.target diff --git a/daemon.py b/daemon.py index e0f98754cf84456e8486266ffe6a3e4198f71116..b5f4555d9bd8168108780355ece13578780afe28 100755 --- a/daemon.py +++ b/daemon.py @@ -11,6 +11,7 @@ import json import dump import config import threading, time, smtplib +import argparse from email.mime.text import MIMEText from config import DEVICE @@ -75,7 +76,12 @@ def checkPaper(): messageCourant, messagePapier = checkPrinter(False, messageCourant, messagePapier) if __name__ == "__main__": - if '-fg' in sys.argv: + # Parse argument with argparse + parser = argparse.ArgumentParser() + parser.add_argument("-fg", help="run the daemon in forground mode", action="store_true") + args = parser.parse_args() + + if args.fg: thHasPaper = threading.Thread(target = checkPaper, name = 'checkPaper') thHasPaper.start() run() diff --git a/initscript b/initscript index 7b9e6ae00861ce06133bed30b74d894931a743c6..b80d1a6eb9817a874cec00db73a7479be47db7e0 100755 --- a/initscript +++ b/initscript @@ -11,7 +11,7 @@ NAME=crans_ticket PIDF=/var/run/$NAME.pid -BIN_PATH=/usr/local/cransticket +BIN_PATH=/home/cransticket/cransticket #ARGS=root@crans.org PATH=/sbin:/bin:/usr/sbin:/usr/bin BIN="$BIN_PATH/daemon.py"