aboutsummaryrefslogtreecommitdiff
path: root/roles/seafile_docker/tasks/main.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/seafile_docker/tasks/main.yaml')
-rw-r--r--roles/seafile_docker/tasks/main.yaml49
1 files changed, 49 insertions, 0 deletions
diff --git a/roles/seafile_docker/tasks/main.yaml b/roles/seafile_docker/tasks/main.yaml
new file mode 100644
index 0000000..b40e2fc
--- /dev/null
+++ b/roles/seafile_docker/tasks/main.yaml
@@ -0,0 +1,49 @@
+# https://manual.seafile.com/docker/pro-edition/deploy_seafile_pro_with_docker/
+---
+
+- name: 'Ensure required vars exist'
+ assert:
+ that: item | mandatory
+ loop:
+ - '{{ data_vol_path }}'
+ - '{{ seafile_image_repo }}'
+ - '{{ seafile_image_name }}'
+ - '{{ seafile_image_tag }}'
+ - '{{ seafile_image_user }}'
+ - '{{ seafile_image_password }}'
+ - '{{ seafile_data_root }}'
+ - '{{ seafile_mysql_root_password }}'
+ - '{{ seafile_timezone }}'
+ - '{{ seafile_admin_email }}'
+ - '{{ seafile_admin_password }}'
+ - '{{ seafile_listen_port }}'
+ no_log: true
+
+- name: 'Log into DockerHub'
+ community.docker.docker_login:
+ registry_url: '{{ seafile_image_repo }}'
+ username: '{{ seafile_image_user }}'
+ password: '{{ seafile_image_password }}'
+
+- name: 'Pull Seafile Pro image'
+ community.docker.docker_image:
+ name: '{{ seafile_image_name }}'
+ tag: '{{ seafile_image_tag }}'
+ state: 'present'
+ source: 'pull'
+
+- name: 'Ensure Seafile data dir exists'
+ file:
+ path: '{{ seafile_data_root }}'
+ state: 'directory'
+ mode: '755'
+
+- name: 'Copy Seafile docker compose config to seafile dir'
+ template:
+ dest: '{{ seafile_data_root }}/docker-compose.yaml'
+ src: 'docker-compose.yaml.j2'
+ mode: '644'
+
+- name: 'Create and start services'
+ community.docker.docker_compose:
+ project_src: '{{ seafile_data_root }}'