diff --git a/roles/espe_backend/defaults/main.json b/roles/espe_backend/defaults/main.json index b29be39..c670a54 100644 --- a/roles/espe_backend/defaults/main.json +++ b/roles/espe_backend/defaults/main.json @@ -4,7 +4,7 @@ "var_espe_backend_git_reference": "master", "var_espe_backend_verbosity": "notice", "var_espe_backend_verification_secret": "REPLACE_ME", - "var_espe_backend_port": 7979, + "var_espe_backend_port": 4916, "var_espe_backend_database_kind": "sqlite", "var_espe_backend_database_data_sqlite_path": "data.sqlite", "var_espe_backend_database_data_postgresql_host": "postgresql.example.org", diff --git a/roles/espe_backend/tasks/main.json b/roles/espe_backend/tasks/main.json index e9bfe1f..7c16dfb 100644 --- a/roles/espe_backend/tasks/main.json +++ b/roles/espe_backend/tasks/main.json @@ -1,6 +1,6 @@ [ { - "name": "user", + "name": "user and directory", "become": true, "ansible.builtin.user": { "name": "{{var_espe_backend_user}}", @@ -10,7 +10,8 @@ }, { "name": "program | fetch", - "delegate_to": "localhost", + "become": true, + "become_user": "{{var_espe_backend_user}}", "ansible.builtin.git": { "repo": "dl-cloud-gitlab:espe/backend", "version": "{{var_espe_backend_git_reference}}", @@ -19,18 +20,20 @@ }, { "name": "program | build", - "delegate_to": "localhost", + "become": true, + "become_user": "{{var_espe_backend_user}}", "ansible.builtin.command": { "chdir": "/tmp/espe-backend-repo", - "cmd": "tools/build --output-directory=/tmp/espe-backend-build" + "cmd": "tools/build" } }, { "name": "program | deploy", - "delegate_to": "localhost", + "become": true, + "become_user": "{{var_espe_backend_user}}", "ansible.builtin.command": { "chdir": "/tmp/espe-backend-repo", - "cmd": "tools/deploy {{ansible_host}} {{var_espe_backend_directory}}" + "cmd": "tools/deploy localhost --target-directory={{var_espe_backend_directory}}" } }, { @@ -41,5 +44,22 @@ "dest": "{{var_espe_backend_directory}}/conf.json", "owner": "{{var_espe_backend_user}}" } + }, + { + "name": "systemd unit", + "become": true, + "ansible.builtin.template": { + "src": "systemd_unit.j2", + "dest": "/etc/systemd/system/espe.service" + } + }, + { + "name": "run", + "become": true, + "ansible.builtin.systemd_service": { + "name": "espe", + "enabled": true, + "state": "restarted" + } } ] diff --git a/roles/espe_backend/templates/systemd_unit.j2 b/roles/espe_backend/templates/systemd_unit.j2 new file mode 100644 index 0000000..76595a2 --- /dev/null +++ b/roles/espe_backend/templates/systemd_unit.j2 @@ -0,0 +1,12 @@ +[Unit] +Description=Espe +After=network.target + +[Service] +ExecStart={{var_espe_backend_directory}}/espe serve +Type=simple +Restart=always + +[Install] +WantedBy=default.target +RequiredBy=network.target