Update 9 files
- /roles/docker/tasks/main.yml - /roles/npm/tasks/main.yml - /roles/npm/templates/docker-compose.yml.j2 - /roles/npm/handlers/main.yml - /roles/heimdall/tasks/main.yml - /roles/heimdall/templates/docker-compose.yml.j2 - /roles/heimdall/handlers/main.yml - /olimp-deploy.yml - /group_vars/all.yml
This commit is contained in:
parent
be97f535c8
commit
405dd9864f
@ -29,3 +29,12 @@ system_scripts: []
|
|||||||
custom_directories:
|
custom_directories:
|
||||||
- /opt/scripts
|
- /opt/scripts
|
||||||
- /etc/apt/keyrings
|
- /etc/apt/keyrings
|
||||||
|
|
||||||
|
# Docker services variables
|
||||||
|
npm_base_dir: "/opt/npm"
|
||||||
|
npm_data_dir: "/opt/npm/data"
|
||||||
|
npm_letsencrypt_dir: "/opt/npm/letsencrypt"
|
||||||
|
|
||||||
|
heimdall_base_dir: "/opt/heimdall"
|
||||||
|
heimdall_config_dir: "/opt/heimdall/config"
|
||||||
|
heimdall_port: "45131"
|
||||||
@ -1,4 +1,13 @@
|
|||||||
---
|
---
|
||||||
|
- hosts: all
|
||||||
|
roles:
|
||||||
|
- {role: base_setup, tags: deploy_base }---
|
||||||
- hosts: all
|
- hosts: all
|
||||||
roles:
|
roles:
|
||||||
- { role: base_setup, tags: deploy_base }
|
- { role: base_setup, tags: deploy_base }
|
||||||
|
|
||||||
|
- hosts: gateway
|
||||||
|
roles:
|
||||||
|
- { role: docker, tags: [docker, deploy_docker] }
|
||||||
|
- { role: npm, tags: [npm, deploy_npm] }
|
||||||
|
- { role: heimdall, tags: [heimdall, deploy_heimdall] }
|
||||||
63
roles/docker/tasks/main.yml
Normal file
63
roles/docker/tasks/main.yml
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
---
|
||||||
|
- name: Install Docker dependencies
|
||||||
|
apt:
|
||||||
|
name:
|
||||||
|
- apt-transport-https
|
||||||
|
- ca-certificates
|
||||||
|
- curl
|
||||||
|
- gnupg
|
||||||
|
- lsb-release
|
||||||
|
state: present
|
||||||
|
update_cache: yes
|
||||||
|
|
||||||
|
- name: Add Docker GPG key
|
||||||
|
apt_key:
|
||||||
|
url: https://download.docker.com/linux/ubuntu/gpg
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Add Docker repository
|
||||||
|
apt_repository:
|
||||||
|
repo: "deb [arch=amd64] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable"
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Install Docker
|
||||||
|
apt:
|
||||||
|
name:
|
||||||
|
- docker-ce
|
||||||
|
- docker-ce-cli
|
||||||
|
- containerd.io
|
||||||
|
state: present
|
||||||
|
update_cache: yes
|
||||||
|
|
||||||
|
- name: Install Docker Compose
|
||||||
|
apt:
|
||||||
|
name: docker-compose-plugin
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Start and enable Docker service
|
||||||
|
systemd:
|
||||||
|
name: docker
|
||||||
|
state: started
|
||||||
|
enabled: yes
|
||||||
|
|
||||||
|
- name: Wait for Docker to start
|
||||||
|
pause:
|
||||||
|
seconds: 5
|
||||||
|
|
||||||
|
- name: Verify Docker installation
|
||||||
|
command: docker --version
|
||||||
|
register: docker_version
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
|
- name: Show Docker version
|
||||||
|
debug:
|
||||||
|
msg: "Docker version: {{ docker_version.stdout }}"
|
||||||
|
|
||||||
|
- name: Verify Docker Compose installation
|
||||||
|
command: docker compose version
|
||||||
|
register: docker_compose_version
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
|
- name: Show Docker Compose version
|
||||||
|
debug:
|
||||||
|
msg: "Docker Compose version: {{ docker_compose_version.stdout }}"
|
||||||
5
roles/heimdall/handlers/main.yml
Normal file
5
roles/heimdall/handlers/main.yml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
- name: restart heimdall
|
||||||
|
community.docker.docker_compose:
|
||||||
|
project_src: "{{ heimdall_base_dir }}"
|
||||||
|
state: restarted
|
||||||
33
roles/heimdall/tasks/main.yml
Normal file
33
roles/heimdall/tasks/main.yml
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
---
|
||||||
|
- name: Create directories for Heimdall
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
mode: 0755
|
||||||
|
loop:
|
||||||
|
- "{{ heimdall_base_dir }}"
|
||||||
|
- "{{ heimdall_config_dir }}"
|
||||||
|
|
||||||
|
- name: Deploy Heimdall docker-compose.yml
|
||||||
|
template:
|
||||||
|
src: docker-compose.yml.j2
|
||||||
|
dest: "{{ heimdall_base_dir }}/docker-compose.yml"
|
||||||
|
mode: 0644
|
||||||
|
|
||||||
|
- name: Pull and start Heimdall container
|
||||||
|
community.docker.docker_compose:
|
||||||
|
project_src: "{{ heimdall_base_dir }}"
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Wait for Heimdall to start
|
||||||
|
pause:
|
||||||
|
seconds: 10
|
||||||
|
|
||||||
|
- name: Check Heimdall container status
|
||||||
|
community.docker.docker_container_info:
|
||||||
|
name: heimdall
|
||||||
|
register: heimdall_status
|
||||||
|
|
||||||
|
- name: Show Heimdall status
|
||||||
|
debug:
|
||||||
|
msg: "Heimdall status: {{ heimdall_status.container.Status }}"
|
||||||
14
roles/heimdall/templates/docker-compose.yml.j2
Normal file
14
roles/heimdall/templates/docker-compose.yml.j2
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
version: '3.8'
|
||||||
|
services:
|
||||||
|
heimdall:
|
||||||
|
image: lscr.io/linuxserver/heimdall:latest
|
||||||
|
container_name: heimdall
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "{{ heimdall_port }}:80"
|
||||||
|
volumes:
|
||||||
|
- {{ heimdall_config_dir }}:/config
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ={{ timezone }}
|
||||||
5
roles/npm/handlers/main.yml
Normal file
5
roles/npm/handlers/main.yml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
- name: restart npm
|
||||||
|
community.docker.docker_compose:
|
||||||
|
project_src: "{{ npm_base_dir }}"
|
||||||
|
state: restarted
|
||||||
34
roles/npm/tasks/main.yml
Normal file
34
roles/npm/tasks/main.yml
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
- name: Create directories for NPM
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
mode: 0755
|
||||||
|
loop:
|
||||||
|
- "{{ npm_base_dir }}"
|
||||||
|
- "{{ npm_data_dir }}"
|
||||||
|
- "{{ npm_letsencrypt_dir }}"
|
||||||
|
|
||||||
|
- name: Deploy NPM docker-compose.yml
|
||||||
|
template:
|
||||||
|
src: docker-compose.yml.j2
|
||||||
|
dest: "{{ npm_base_dir }}/docker-compose.yml"
|
||||||
|
mode: 0644
|
||||||
|
|
||||||
|
- name: Pull and start NPM container
|
||||||
|
community.docker.docker_compose:
|
||||||
|
project_src: "{{ npm_base_dir }}"
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Wait for NPM to start
|
||||||
|
pause:
|
||||||
|
seconds: 10
|
||||||
|
|
||||||
|
- name: Check NPM container status
|
||||||
|
community.docker.docker_container_info:
|
||||||
|
name: npm
|
||||||
|
register: npm_status
|
||||||
|
|
||||||
|
- name: Show NPM status
|
||||||
|
debug:
|
||||||
|
msg: "NPM status: {{ npm_status.container.Status }}"
|
||||||
13
roles/npm/templates/docker-compose.yml.j2
Normal file
13
roles/npm/templates/docker-compose.yml.j2
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
version: '3.8'
|
||||||
|
services:
|
||||||
|
npm:
|
||||||
|
image: jc21/nginx-proxy-manager:latest
|
||||||
|
container_name: npm
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "80:80"
|
||||||
|
- "443:443"
|
||||||
|
- "81:81"
|
||||||
|
volumes:
|
||||||
|
- {{ npm_data_dir }}:/data
|
||||||
|
- {{ npm_letsencrypt_dir }}:/etc/letsencrypt
|
||||||
Loading…
Reference in New Issue
Block a user