Initial changes to integrate new portal
This commit is contained in:
parent
c4ffbb00e2
commit
0fa18af48e
18 changed files with 311 additions and 221 deletions
|
|
@ -4,18 +4,18 @@
|
|||
become: true
|
||||
tasks:
|
||||
- name: Install deps
|
||||
apt:
|
||||
ansible.builtin.apt:
|
||||
name:
|
||||
- git
|
||||
- vim
|
||||
- lighttpd
|
||||
- sudo
|
||||
state: present
|
||||
update_cache: yes
|
||||
when: not ( is_vmdb2 | bool )
|
||||
update_cache: true
|
||||
when: not (is_vmdb2 | bool)
|
||||
|
||||
- name: Create dendrite directories
|
||||
file:
|
||||
ansible.builtin.file:
|
||||
path: "/home/{{ butter_user }}/dendrite/bin"
|
||||
state: directory
|
||||
owner: "{{ butter_user }}"
|
||||
|
|
@ -23,36 +23,38 @@
|
|||
mode: "0755"
|
||||
|
||||
- name: Download pre-built dendrite archive
|
||||
get_url:
|
||||
ansible.builtin.get_url:
|
||||
url: "https://guardianproject.dev/api/packages/butter/generic/dendrite/latest/dendrite-{{ go_arch_map[ansible_architecture] }}.tar.gz"
|
||||
dest: /tmp
|
||||
mode: '0644'
|
||||
|
||||
- name: Untar dendrite
|
||||
unarchive:
|
||||
ansible.builtin.unarchive:
|
||||
src: "/tmp/dendrite-{{ go_arch_map[ansible_architecture] }}.tar.gz"
|
||||
dest: "/home/{{ butter_user }}/dendrite/bin"
|
||||
remote_src: yes
|
||||
remote_src: true
|
||||
extra_opts: [--strip-components=2]
|
||||
|
||||
- name: Ensure butter_user owns Dendrite directory
|
||||
file:
|
||||
ansible.builtin.file:
|
||||
path: "/home/{{ butter_user }}/dendrite"
|
||||
state: directory
|
||||
recurse: yes
|
||||
recurse: true
|
||||
|
||||
- name: Generate Matrix signing key
|
||||
command: ./bin/generate-keys --private-key matrix_key.pem
|
||||
ansible.builtin.command: ./bin/generate-keys --private-key matrix_key.pem
|
||||
args:
|
||||
creates: "/home/{{ butter_user }}/dendrite/matrix_key.pem"
|
||||
chdir: "/home/{{ butter_user }}/dendrite"
|
||||
|
||||
- name: Generate self-signed TLS certificate (optional)
|
||||
command: ./bin/generate-keys --tls-cert server.crt --tls-key server.key
|
||||
ansible.builtin.command: ./bin/generate-keys --tls-cert server.crt --tls-key server.key
|
||||
args:
|
||||
chdir: "/home/{{ butter_user }}/dendrite"
|
||||
creates: "/home/{{ butter_user }}/dendrite/server.key"
|
||||
|
||||
- name: Download Dendrite config to target
|
||||
get_url:
|
||||
ansible.builtin.get_url:
|
||||
url: "{{ config_base_url }}/butterbox-dendrite.conf"
|
||||
dest: "/home/{{ butter_user }}/dendrite/butterbox-dendrite.conf"
|
||||
owner: "{{ butter_user }}"
|
||||
|
|
@ -60,57 +62,45 @@
|
|||
mode: '0644'
|
||||
|
||||
- name: Replace REPLACEME with butter_name in config
|
||||
replace:
|
||||
ansible.builtin.replace:
|
||||
path: "/home/{{ butter_user }}/dendrite/butterbox-dendrite.conf"
|
||||
regexp: 'REPLACEME'
|
||||
replace: "{{ butter_name }}"
|
||||
|
||||
- name: Replace /home/pi with /home/butter_user in config
|
||||
replace:
|
||||
ansible.builtin.replace:
|
||||
path: "/home/{{ butter_user }}/dendrite/butterbox-dendrite.conf"
|
||||
regexp: '/pi/'
|
||||
replace: "/{{ butter_user }}/"
|
||||
|
||||
- name: Create log directory for Dendrite
|
||||
file:
|
||||
ansible.builtin.file:
|
||||
path: "/var/log/dendrite"
|
||||
state: directory
|
||||
owner: "{{ butter_user }}"
|
||||
group: "{{ butter_user }}"
|
||||
mode: '0755'
|
||||
recurse: yes
|
||||
recurse: true
|
||||
|
||||
- name: Download dendrite systemd service file
|
||||
get_url:
|
||||
url: "{{ config_base_url }}/butterbox-dendrite.service"
|
||||
- name: template dendrite systemd service file
|
||||
ansible.builtin.template:
|
||||
src: templates/butterbox-dendrite.service.j2
|
||||
dest: /lib/systemd/system/dendrite.service
|
||||
owner: root
|
||||
group: root
|
||||
mode: '0644'
|
||||
|
||||
- name: Replace /home/pi with /home/butter_user in service file
|
||||
replace:
|
||||
path: /lib/systemd/system/dendrite.service
|
||||
regexp: '/pi/'
|
||||
replace: "/{{ butter_user }}/"
|
||||
|
||||
- name: Replace pi with butter_user in service file
|
||||
replace:
|
||||
path: /lib/systemd/system/dendrite.service
|
||||
regexp: 'User=pi'
|
||||
replace: "User={{ butter_user }}"
|
||||
|
||||
- name: Enable dendrite by symlink
|
||||
file:
|
||||
ansible.builtin.file:
|
||||
src: /lib/systemd/system/dendrite.service
|
||||
dest: /etc/systemd/system/multi-user.target.wants/dendrite.service
|
||||
state: link
|
||||
|
||||
- name: Ensure butter_user owns Dendrite directory
|
||||
file:
|
||||
ansible.builtin.file:
|
||||
path: "/home/{{ butter_user }}/dendrite"
|
||||
state: directory
|
||||
recurse: yes
|
||||
recurse: true
|
||||
owner: "{{ butter_user }}"
|
||||
group: "{{ butter_user }}"
|
||||
mode: "0755"
|
||||
|
|
@ -123,7 +113,7 @@
|
|||
when: not (is_vmdb2 | bool)
|
||||
|
||||
- name: Download Matrix reverse proxy config for Lighttpd
|
||||
get_url:
|
||||
ansible.builtin.get_url:
|
||||
url: "{{ config_base_url }}/50-matrix-reverse-proxy.conf"
|
||||
dest: /etc/lighttpd/conf-available/50-matrix-reverse-proxy.conf
|
||||
owner: root
|
||||
|
|
@ -131,22 +121,22 @@
|
|||
mode: '0644'
|
||||
|
||||
- name: Ensure old symlink is removed if it exists
|
||||
file:
|
||||
ansible.builtin.file:
|
||||
path: /etc/lighttpd/conf-enabled/50-matrix-reverse-proxy.conf
|
||||
state: absent
|
||||
force: true
|
||||
|
||||
|
||||
- name: Enable reverse proxy config for Matrix in Lighttpd
|
||||
file:
|
||||
ansible.builtin.file:
|
||||
src: /etc/lighttpd/conf-available/50-matrix-reverse-proxy.conf
|
||||
dest: /etc/lighttpd/conf-enabled/50-matrix-reverse-proxy.conf
|
||||
state: link
|
||||
force: true
|
||||
|
||||
- name: Start dendrite as user butter_user
|
||||
become: yes
|
||||
become: true
|
||||
become_user: "{{ butter_user }}"
|
||||
shell: |
|
||||
ansible.builtin.shell: |
|
||||
nohup /home/{{ butter_user }}/dendrite/bin/dendrite \
|
||||
--config /home/{{ butter_user }}/dendrite/butterbox-dendrite.conf \
|
||||
-really-enable-open-registration \
|
||||
|
|
@ -154,28 +144,30 @@
|
|||
args:
|
||||
chdir: "/home/{{ butter_user }}"
|
||||
when: is_vmdb2 | bool
|
||||
changed_when: false
|
||||
|
||||
|
||||
- name: Wait for Dendrite client API to be available
|
||||
wait_for:
|
||||
ansible.builtin.wait_for:
|
||||
host: "127.0.0.1"
|
||||
port: 8008
|
||||
delay: 3 # wait a few seconds before first check
|
||||
timeout: 60 # give it up to a minute to start
|
||||
state: started
|
||||
when: is_vmdb2 | bool
|
||||
|
||||
|
||||
- name: Copy public room script
|
||||
template:
|
||||
ansible.builtin.template:
|
||||
src: templates/create_public_room.sh.j2
|
||||
dest: "/home/{{ butter_user }}/create_public_room.sh"
|
||||
mode: '0755'
|
||||
|
||||
|
||||
- name: Run the create_public_room.sh script
|
||||
command: "/home/{{ butter_user }}/create_public_room.sh"
|
||||
ansible.builtin.command: "/home/{{ butter_user }}/create_public_room.sh"
|
||||
register: room_creation
|
||||
ignore_errors: false
|
||||
|
||||
ignore_errors: false
|
||||
changed_when: false
|
||||
|
||||
- name: Show room creation output
|
||||
debug:
|
||||
ansible.builtin.debug:
|
||||
var: room_creation.stdout
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue