diff --git a/tljh/installer.py b/tljh/installer.py index b78c560..218e541 100644 --- a/tljh/installer.py +++ b/tljh/installer.py @@ -46,6 +46,10 @@ def ensure_jupyterhub_service(prefix): # If JupyterHub is running, we want to restart it. systemd.restart_service('jupyterhub') + # Mark JupyterHub & CHP to start at boot ime + systemd.enable_service('jupyterhub') + systemd.enable_service('configurable-http-proxy') + def ensure_jupyterhub_package(prefix): """ diff --git a/tljh/systemd-units/configurable-http-proxy.service b/tljh/systemd-units/configurable-http-proxy.service index d05976d..808bb8b 100644 --- a/tljh/systemd-units/configurable-http-proxy.service +++ b/tljh/systemd-units/configurable-http-proxy.service @@ -23,3 +23,7 @@ ExecStart={install_prefix}/hub/bin/configurable-http-proxy \ --api-ip 127.0.0.1 \ --api-port 15002 \ --error-target http://127.0.0.1:15001/hub/error + +[Install] +# Start service when system boots +WantedBy=multi-user.target diff --git a/tljh/systemd-units/jupyterhub.service b/tljh/systemd-units/jupyterhub.service index f635bfd..b7fbcb2 100644 --- a/tljh/systemd-units/jupyterhub.service +++ b/tljh/systemd-units/jupyterhub.service @@ -20,3 +20,7 @@ ProtectKernelModules=yes EnvironmentFile={install_prefix}/configurable-http-proxy.secret Environment=TLJH_INSTALL_PREFIX={install_prefix} ExecStart={python_interpreter_path} -m jupyterhub.app -f {jupyterhub_config_path} + +[Install] +# Start service when system boots +WantedBy=multi-user.target diff --git a/tljh/systemd.py b/tljh/systemd.py index 1951da7..9541f9f 100644 --- a/tljh/systemd.py +++ b/tljh/systemd.py @@ -57,3 +57,16 @@ def restart_service(name): 'restart', name ], check=True) + + +def enable_service(name): + """ + Enable a service with given name. + + This most likely makes the service start on bootup + """ + subprocess.run([ + 'systemctl', + 'enable', + name + ], check=True)