Procházet zdrojové kódy

add possibility to install synapse on raspberry pi

pull/386/head
Horvath Gergely před 6 roky
rodič
revize
a096eafb45
6 změnil soubory, kde provedl 48 přidání a 2 odebrání
  1. +16
    -0
      group_vars/matrix_servers
  2. +2
    -0
      roles/matrix-base/defaults/main.yml
  3. +7
    -0
      roles/matrix-base/tasks/sanity_check.yml
  4. +2
    -2
      roles/matrix-base/tasks/server_base/setup.yml
  5. +2
    -0
      roles/matrix-base/tasks/setup_matrix_base.yml
  6. +19
    -0
      roles/matrix-synapse/tasks/synapse/setup_install.yml

+ 16
- 0
group_vars/matrix_servers Zobrazit soubor

@@ -678,3 +678,19 @@ matrix_synapse_systemd_wanted_services_list: |
# /matrix-synapse
#
######################################################################



######################################################################
#
# raspberry pi
#
######################################################################

matrix_raspberry_pi: "false"

######################################################################
#
# /raspberry pi
#
######################################################################

+ 2
- 0
roles/matrix-base/defaults/main.yml Zobrazit soubor

@@ -26,6 +26,8 @@ matrix_base_data_path: "/matrix"
matrix_base_data_path_mode: "750"

matrix_static_files_base_path: "{{ matrix_base_data_path }}/static-files"
matrix_docker_src_files_path: "{{ matrix_base_data_path }}/docker-src"
matrix_docker_synapse_src_files_path: "{{ matrix_docker_src_files_path }}/synapse"

matrix_homeserver_url: "https://{{ matrix_server_fqn_matrix }}"



+ 7
- 0
roles/matrix-base/tasks/sanity_check.yml Zobrazit soubor

@@ -44,3 +44,10 @@
- "{{ matrix_server_fqn_matrix }}"
- "{{ matrix_server_fqn_riot }}"
when: "item != item|lower"

# ansible lower than 2.8, does not support docker_image build parameters
# for Raspberry pi it is explicitly needed, so we rather fail here
- name: Fail if running on Ansible lower than 2.8 and targeting Raspberry pi
fail:
msg: "To target Raspberry pi, you should usa ansible 2.8 or higher. E.g. pip contains such packages."
when: "ansible_version.major == 2 and ansible_version.minor < 8 and matrix_raspberry_pi"

+ 2
- 2
roles/matrix-base/tasks/server_base/setup.yml Zobrazit soubor

@@ -4,10 +4,10 @@
when: ansible_distribution == 'CentOS'

- include_tasks: "{{ role_path }}/tasks/server_base/setup_debian.yml"
when: (ansible_os_family == 'Debian') and (ansible_lsb.id != 'Raspbian')
when: (ansible_os_family == 'Debian') and (ansible_lsb.id != 'Raspbian')

- include_tasks: "{{ role_path }}/tasks/server_base/setup_raspbian.yml"
when: (ansible_os_family == 'Debian') and (ansible_lsb.id == 'Raspbian')
when: "matrix_raspberry_pi"

- name: Ensure Docker is started and autoruns
service:


+ 2
- 0
roles/matrix-base/tasks/setup_matrix_base.yml Zobrazit soubor

@@ -22,6 +22,8 @@
group: "{{ matrix_user_username }}"
with_items:
- "{{ matrix_base_data_path }}"
- "{{ matrix_docker_src_files_path }}"
- "{{ matrix_docker_synapse_src_files_path }}"

# `docker_network` doesn't work as expected when the given network
# is a substring of a network that already exists.


+ 19
- 0
roles/matrix-synapse/tasks/synapse/setup_install.yml Zobrazit soubor

@@ -18,12 +18,31 @@
group: "{{ matrix_user_username }}"
when: "not local_path_media_store_stat.failed and not local_path_media_store_stat.stat.exists"

- name: Ensure Synapse repository is present on Raspberry pi
git:
repo: https://github.com/matrix-org/synapse.git
dest: "{{ matrix_docker_synapse_src_files_path }}"
version: "{{ matrix_synapse_docker_image.split(':')[1] }}"
force: "yes"
when: "matrix_raspberry_pi"

- name: Ensure Synapse Docker image is build (Raspberry pi)
docker_image:
name: "{{ matrix_synapse_docker_image }}"
source: build
build:
dockerfile: docker/Dockerfile
path: "{{ matrix_docker_synapse_src_files_path }}"
pull: yes
when: "matrix_raspberry_pi"

- name: Ensure Synapse Docker image is pulled
docker_image:
name: "{{ matrix_synapse_docker_image }}"
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
force_source: "{{ matrix_synapse_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_synapse_docker_image_force_pull }}"
when: "not matrix_raspberry_pi"

- name: Check if a Synapse signing key exists
stat:


Načítá se…
Zrušit
Uložit