diff --git a/glpi b/glpi
new file mode 100755
index 0000000000000000000000000000000000000000..1dc40365450e4c4d728c06571cc90cd49e64d48a
--- /dev/null
+++ b/glpi
@@ -0,0 +1,85 @@
+#!/bin/bash
+
+is_docker() {
+    if [ ! -z "$(which docker-compose 2>/dev/null)" ];
+    then
+        echo "1"
+    else
+        echo "0"
+    fi
+}
+
+usage() {
+    echo -e "Usage $0 <command> [args]\n"
+    echo -e "COMMANDS\n"
+    echo "bash"
+    echo -e "\topens a bash terminal in front container or just run bash"
+    echo "cache"
+    echo -e "\t clears all the caches and update assets_hashes"
+    echo "console"
+    echo -e "\t run artisan, argument are passed to artisan"
+    echo "down"
+    echo -e "\t stops the docker stack"
+    echo "help"
+    echo -e "\t displays this messages and exit"
+    echo "mysql"
+    echo -e "\topen a mysql prompt in LNB database"
+    echo "restart"
+    echo -e "\t restart the docker stack or apache2"
+    echo "up"
+    echo -e "\t starts the stack"
+}
+
+if [ "$(is_docker)" -eq 1 ]; then
+    cmd="docker-compose exec glpi"
+    cmdmy="docker-compose exec db"
+    cmdmyInput="docker exec -i $(docker-compose ps -q db)"
+    cmdrestart="docker-compose restart"
+    cmdup="docker-compose up"
+    cmddown="docker-compose down"
+else
+    cmdrestart="apache2ctl restart" 
+fi
+
+user=$(awk -F '=' '/MYSQL_USER/{print $2}' .env)
+db=$(awk -F '=' '/MYSQL_DATABASE/{print $2}' .env)
+pass=$(awk -F '=' '/MYSQL_PASSWORD/{print $2}' .env)
+mysql="mysql -u $user $db -p$pass"
+
+DIR="$(dirname $0)"
+
+action=$1
+shift
+# Keep actions sorted
+case $action in
+    "bash")
+        $cmd bash
+        ;;
+    "cache")
+        $0 console cache:clear
+        ;;
+    "console")
+        $cmd php bin/console $@
+        ;;
+    "down")
+        $cmddown
+        ;;
+    "help")
+        usage
+        ;;
+    "mysql")
+        $cmdmy $mysql
+        ;;
+    "restart")
+        $cmdrestart $@
+        ;;
+    "up")
+        $cmdup $@
+        ;;
+    *)
+        echo "ERROR: No command given"
+        usage
+        exit 1
+        ;;
+esac
+