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:
Administrator 2025-10-15 08:33:51 +00:00
parent be97f535c8
commit 405dd9864f
9 changed files with 187 additions and 2 deletions

View File

@ -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"

View File

@ -1,4 +1,13 @@
--- ---
- hosts: all - hosts: all
roles: 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] }

View 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 }}"

View File

@ -0,0 +1,5 @@
---
- name: restart heimdall
community.docker.docker_compose:
project_src: "{{ heimdall_base_dir }}"
state: restarted

View 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 }}"

View 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 }}

View 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
View 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 }}"

View 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