Przeglądaj źródła

add systemd script for automatic start Closes #244

nico 8 lat temu
rodzic
commit
3c64ac8d78
3 zmienionych plików z 38 dodań i 2 usunięć
  1. 28 0
      Docs/installation.md
  2. 1 1
      kalliope/_version.py
  3. 9 1
      kalliope/core/Utils/Utils.py

+ 28 - 0
Docs/installation.md

@@ -95,5 +95,33 @@ Those repositories provide you a basic structure to start playing with kalliope.
 - [English starter config](https://github.com/kalliope-project/kalliope_starter_en)
 - [German starter config](https://github.com/kalliope-project/kalliope_starter_de)
 
+
+## Start Kalliope automatically after a reboot
+
+If you want to start Kalliope automatically Place the script bellow in `/etc/systemd/system/kalliope.service`.
+Update the path to your folder where you've placed your `brain.yml` and `settings.yml`.
+```bash
+[Unit]
+Description=Kalliope
+
+[Service]
+WorkingDirectory=/path/to/kalliope_brain_folder
+
+Environment='STDOUT=/var/log/kalliope.log'
+Environment='STDERR=/var/log/kalliope.err.log'
+ExecStart=/bin/bash -c "/usr/local/bin/kalliope start > ${STDOUT} 2> ${STDERR}"
+User=%i
+
+[Install]
+WantedBy=multi-user.target
+```
+
+Then, reload systemctl, start the service and enable it at startup
+```bash
+sudo systemctl daemon-reload
+sudo systemctl start kalliope
+sudo systemctl enable kalliope
+```
+
 ## Next: 
 If everything is ok, you can start playing with Kalliope. First, take a look to the [default settings](settings.md).

+ 1 - 1
kalliope/_version.py

@@ -1,2 +1,2 @@
 # https://www.python.org/dev/peps/pep-0440/
-version_str = "0.4.3"
+version_str = "0.4.4b"

+ 9 - 1
kalliope/core/Utils/Utils.py

@@ -42,34 +42,42 @@ class Utils(object):
     @classmethod
     def print_info(cls, text_to_print):
         pipe_print(cls.color_list["BLUE"] + text_to_print + cls.color_list["ENDLINE"])
+        logger.info(text_to_print)
 
     @classmethod
     def print_success(cls, text_to_print):
         pipe_print(cls.color_list["GREEN"] + text_to_print + cls.color_list["ENDLINE"])
+        logger.info(text_to_print)
 
     @classmethod
     def print_warning(cls, text_to_print):
         pipe_print(cls.color_list["YELLOW"] + text_to_print + cls.color_list["ENDLINE"])
+        logger.info(text_to_print)
 
     @classmethod
     def print_danger(cls, text_to_print):
         pipe_print(cls.color_list["RED"] + text_to_print + cls.color_list["ENDLINE"])
+        logger.info(text_to_print)
 
     @classmethod
     def print_header(cls, text_to_print):
         pipe_print(cls.color_list["HEADER"] + text_to_print + cls.color_list["ENDLINE"])
+        logger.info(text_to_print)
 
     @classmethod
-    def print_header(cls, text_to_print):
+    def print_purple(cls, text_to_print):
         pipe_print(cls.color_list["PURPLE"] + text_to_print + cls.color_list["ENDLINE"])
+        logger.info(text_to_print)
 
     @classmethod
     def print_bold(cls, text_to_print):
         pipe_print(cls.color_list["BOLD"] + text_to_print + cls.color_list["ENDLINE"])
+        logger.info(text_to_print)
 
     @classmethod
     def print_underline(cls, text_to_print):
         pipe_print(cls.color_list["UNDERLINE"] + text_to_print + cls.color_list["ENDLINE"])
+        logger.info(text_to_print)
 
     @staticmethod
     def print_yaml_nicely(to_print):