ansible/roles/belenios/tasks/main.yml

109 lines
2.9 KiB
YAML

---
- name: Install Belenios dependencies from APT
ansible.builtin.apt:
update_cache: true
install_recommends: false
name:
- bubblewrap
- build-essential
- ca-certificates
- cracklib-runtime
- jq
- libgd-securityimage-perl
- libgmp-dev
- libncurses-dev
- libpcre3-dev
- libssl-dev
- libsqlite3-dev
- m4
- pkg-config
- unzip
- wget
- zip
- zlib1g-dev
# OCamL build dependencies
- dune
- eliom
- libatdgen-ocaml-dev
- libcalendar-ocaml-dev
- libcmdliner-ocaml-dev
- libcryptokit-ocaml-dev
- libcsv-ocaml-dev
- libgettext-ocaml-dev
- libzarith-ocaml-dev
# Web server dependencies
- ocsigenserver
register: apt_result
retries: 3
until: apt_result is succeeded
- name: Start ocsigenserver at boot
ansible.builtin.lineinfile:
path: /etc/default/ocsigenserver
regexp: ^LAUNCH_AT_STARTUP=
line: LAUNCH_AT_STARTUP=true
notify: Restart ocsigenserver
- name: Clone belenios into /var/local/belenios
ansible.builtin.git:
repo: https://gitlab.inria.fr/belenios/belenios.git
dest: /var/local/belenios
version: "1.15"
force: true
notify: Make belenios project
register: git_result
- name: Create belenios data directories
ansible.builtin.file:
path: "{{ item }}"
owner: ocsigen
group: ocsigen
mode: 0755
state: directory
loop:
- /etc/ocsigenserver/conf.d
- /var/lib/belenios
- /var/lib/belenios/data
- /var/lib/belenios/upload
- /var/lib/belenios/spool
- /var/log/belenios
- name: Link belenios directories into proper locations
ansible.builtin.file:
src: "{{ item.src }}"
path: "{{ item.path }}"
owner: root
group: root
mode: 0755
state: link
loop:
- src: /var/local/belenios/_run/usr/bin/belenios-tool
path: /usr/bin/belenios-tool
- src: /var/local/belenios/_run/usr/lib/belenios
path: /usr/lib/ocaml/belenios
- src: /var/local/belenios/_run/usr/lib/belenios-platform
path: /usr/lib/ocaml/belenios-platform
- src: /var/local/belenios/_run/usr/lib/belenios-platform-js
path: /usr/lib/ocaml/belenios-platform-js
- src: /var/local/belenios/_run/usr/lib/belenios-platform-native
path: /usr/lib/ocaml/belenios-platform-native
- src: /var/local/belenios/_run/usr/lib/belenios-server
path: /usr/lib/ocaml/belenios-server
- src: /var/local/belenios/_run/usr/lib/belenios-tool
path: /usr/lib/ocaml/belenios-tool
- src: /var/local/belenios/_run/usr/share/belenios-server
path: /usr/share/belenios-server
- name: Deploy ocsigenserver configuration
ansible.builtin.template:
src: ocsigenserver/conf.d/belenios.conf.j2
dest: /etc/ocsigenserver/conf.d/belenios.conf
owner: root
group: root
mode: 0644
notify: Restart ocsigenserver