2022-07-05 14:28:45 +08:00
|
|
|
- name: Create docker network websoft9
|
|
|
|
shell: docker network create websoft9
|
2022-07-05 14:41:02 +08:00
|
|
|
failed_when: False
|
2022-07-05 14:37:42 +08:00
|
|
|
|
2022-07-19 17:13:03 +08:00
|
|
|
- name: Git Clone app docker repository and change public IP
|
2022-07-08 16:22:36 +08:00
|
|
|
block:
|
2022-07-11 16:05:06 +08:00
|
|
|
- name: Delete {{app}} dir for Second installation
|
2022-07-08 16:22:36 +08:00
|
|
|
shell: rm -rf {{installpath}}/{{app}}
|
2022-07-11 16:05:06 +08:00
|
|
|
|
2022-07-08 16:22:36 +08:00
|
|
|
- name: Clone {{app}} in Websoft9
|
|
|
|
git:
|
|
|
|
repo: "https://github.com/Websoft9/docker-{{app}}.git"
|
|
|
|
dest: "{{installpath}}/{{app}}"
|
2022-07-19 17:13:03 +08:00
|
|
|
|
2022-07-20 11:31:44 +08:00
|
|
|
- name: Check APP_URL_REPLACE exists
|
|
|
|
shell: |
|
|
|
|
cat "{{installpath}}/{{app}}/.env" |grep APP_URL_REPLACE=true
|
|
|
|
register: http_url_exists
|
|
|
|
failed_when: false
|
|
|
|
|
2022-07-19 17:13:03 +08:00
|
|
|
- name: Change Public IP for http_url if APP_URL_REPLACE=true
|
|
|
|
shell: |
|
2022-07-20 11:31:44 +08:00
|
|
|
public_ip=`wget -O - https://download.websoft9.com/ansible/get_ip.sh | bash`
|
|
|
|
sudo sed -i "s/APP_URL=.*/APP_URL=$public_ip/g" /data/apps/{{app}}/.env
|
|
|
|
when: http_url_exists.stdout != ""
|
|
|
|
|
2022-07-08 16:22:36 +08:00
|
|
|
- name: Excute Preparation if have pre.yml
|
|
|
|
block:
|
|
|
|
- name: Check if pre.yml exists
|
|
|
|
uri:
|
|
|
|
url: "https://github.com/Websoft9/StackHub/blob/main/apps/roles/{{app}}/tasks/pre.yml"
|
|
|
|
return_content: yes
|
|
|
|
register: pre_exists
|
|
|
|
failed_when: false
|
|
|
|
|
|
|
|
- name: Excute pre.yml
|
|
|
|
include_tasks: roles/{{app}}/tasks/pre.yml
|
|
|
|
when: pre_exists.status is defined and pre_exists.status == 200
|
2022-07-05 10:49:24 +08:00
|
|
|
|
2022-08-01 10:56:14 +08:00
|
|
|
- block:
|
|
|
|
- name: Docker compose up
|
|
|
|
shell: |
|
|
|
|
docker compose up -d
|
|
|
|
sleep 30
|
2022-07-05 10:49:24 +08:00
|
|
|
args:
|
2022-07-08 11:44:10 +08:00
|
|
|
chdir: "{{installpath}}/{{app}}"
|
2022-08-01 10:56:14 +08:00
|
|
|
|
|
|
|
- name: Recursively create directory for {{app}}
|
2022-07-05 10:49:24 +08:00
|
|
|
file:
|
2022-08-01 10:56:14 +08:00
|
|
|
path: "{{ item }}"
|
|
|
|
state: directory
|
|
|
|
recurse: yes
|
|
|
|
with_items:
|
|
|
|
- "{{installpath}}/{{app}}/data"
|
|
|
|
|
|
|
|
- name: Add softlink of all volumes for app root directory
|
|
|
|
block:
|
|
|
|
- name: Get volumes name
|
|
|
|
shell: docker compose config --volumes
|
|
|
|
register: volume_names
|
|
|
|
args:
|
|
|
|
chdir: "{{installpath}}/{{app}}"
|
|
|
|
|
|
|
|
- name: Create softlink of volumes
|
|
|
|
file:
|
|
|
|
src: "/var/lib/docker/volumes/{{app}}_{{item}}/_data"
|
|
|
|
dest: "{{installpath}}/{{app}}/data/{{item}}"
|
|
|
|
state: link
|
|
|
|
force: yes
|
|
|
|
loop: "{{volume_names.stdout_lines}}"
|