From 1d5310127e6a22a2d1ec5f66f743a6f3001906b5 Mon Sep 17 00:00:00 2001 From: Benjamin Graillot <graillot@crans.org> Date: Mon, 8 Feb 2021 14:37:05 +0100 Subject: [PATCH] [linx] Add linx server, role and playbook --- group_vars/reverseproxy.yml | 1 + hosts | 1 + plays/linx.yml | 9 +++++ roles/linx/handlers/main.yml | 5 +++ roles/linx/tasks/main.yml | 37 +++++++++++++++++++ roles/linx/templates/linx/server.conf.j2 | 9 +++++ .../systemd/system/linx-server.service.j2 | 16 ++++++++ 7 files changed, 78 insertions(+) create mode 100755 plays/linx.yml create mode 100644 roles/linx/handlers/main.yml create mode 100644 roles/linx/tasks/main.yml create mode 100644 roles/linx/templates/linx/server.conf.j2 create mode 100644 roles/linx/templates/systemd/system/linx-server.service.j2 diff --git a/group_vars/reverseproxy.yml b/group_vars/reverseproxy.yml index 5c8fd0d7..6a5d2959 100644 --- a/group_vars/reverseproxy.yml +++ b/group_vars/reverseproxy.yml @@ -38,6 +38,7 @@ nginx: - {from: roundcube.crans.org, to: 172.16.10.107} - {from: hedgedoc.crans.org, to: "172.16.10.128:3000"} - {from: owncloud.crans.org, to: 172.16.10.136} + - {from: linx.crans.org, to: "172.16.10.119:8080"} # - {from: belenios.crans.org, to: 172.16.10.111} # - {from: mailman.crans.org, to: 10.231.136.180} diff --git a/hosts b/hosts index 068bb8d6..2af1b2b7 100644 --- a/hosts +++ b/hosts @@ -148,6 +148,7 @@ jitsi.adm.crans.org kenobi.adm.crans.org kiwi.adm.crans.org kiwijuice.adm.crans.org +linx.adm.crans.org monitoring.adm.crans.org owl.adm.crans.org owncloud.adm.crans.org diff --git a/plays/linx.yml b/plays/linx.yml new file mode 100755 index 00000000..80c29864 --- /dev/null +++ b/plays/linx.yml @@ -0,0 +1,9 @@ +#!/usr/bin/env ansible-playbook +--- +- hosts: linx.adm.crans.org + vars: + linx: + ip: "{{ query('ldap', 'ip', 'linx', 'adm') }}" + siteurl: "https://linx.crans.org/" + roles: + - linx diff --git a/roles/linx/handlers/main.yml b/roles/linx/handlers/main.yml new file mode 100644 index 00000000..e7565721 --- /dev/null +++ b/roles/linx/handlers/main.yml @@ -0,0 +1,5 @@ +--- +- name: Restart linx-server + service: + name: linx-server + state: restarted diff --git a/roles/linx/tasks/main.yml b/roles/linx/tasks/main.yml new file mode 100644 index 00000000..60214c53 --- /dev/null +++ b/roles/linx/tasks/main.yml @@ -0,0 +1,37 @@ +--- +#- name: Install linx + +- name: Create linx user + user: + create_home: yes + home: /var/lib/linx + system: yes + state: present + password: "!" + update_password: always + name: linx + +- name: Create linx config dir + file: + path: /etc/linx + state: directory + +- name: Deploy configuration file + template: + src: "linx/server.conf.j2" + dest: "/etc/linx/server.conf" + mode: 0644 + +- name: Install linx systemd unit + template: + src: "systemd/system/linx-server.service.j2" + dest: "/etc/systemd/system/linx-server.service" + mode: 0644 + notify: Restart linx-server + +- name: Load and activate linx systemd unit + systemd: + name: linx-server.service + daemon_reload: true + enabled: true + state: started diff --git a/roles/linx/templates/linx/server.conf.j2 b/roles/linx/templates/linx/server.conf.j2 new file mode 100644 index 00000000..25af772c --- /dev/null +++ b/roles/linx/templates/linx/server.conf.j2 @@ -0,0 +1,9 @@ +{{ ansible_header | comment }} + +bind = {{ linx.ip }}:8080 +sitename = CRANS Linx +siteurl = {{ linx.siteurl }} +maxsize = 10000000 +maxexpiry = 604800 +filespath = /var/lib/linx/files/ +metapath = /var/lib/linx/meta/ diff --git a/roles/linx/templates/systemd/system/linx-server.service.j2 b/roles/linx/templates/systemd/system/linx-server.service.j2 new file mode 100644 index 00000000..4ce99e25 --- /dev/null +++ b/roles/linx/templates/systemd/system/linx-server.service.j2 @@ -0,0 +1,16 @@ +{{ ansible_header | comment }} + +[Unit] +Description=Linx +After=network.target + +[Service] +Type=simple +User=linx +Group=linx +WorkingDirectory=/var/lib/linx/ +ExecStart=/usr/local/sbin/linx-server -config /etc/linx/server.conf +Restart=always + +[Install] +WantedBy=multi-user.target -- GitLab