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:
|
||||
- /opt/scripts
|
||||
- /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 }
|
||||
- {role: base_setup, tags: deploy_base }---
|
||||
- hosts: all
|
||||
roles:
|
||||
- { 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