olimp/roles/gateway/tasks/main.yml
Administrator 299e41fd57 Update 13 files
- /inventories/group_vars/all.yml
- /inventories/group_vars/gateway.yml
- /roles/npm/tasks/main.yml
- /roles/heimdall/tasks/main.yml
- /roles/docker/tasks/main.yml
- /group_vars/all.yml
- /group_vars/gateway_servers.yml
- /roles/proxmox_lxc/handlers/main.yml
- /roles/proxmox_lxc/tasks/main.yml
- /roles/gateway/handlers/main.yml
- /roles/gateway/tasks/main.yml
- /gateway-deploy.yml
- /olimp-deploy.yml
2025-10-14 09:15:17 +00:00

93 lines
2.1 KiB
YAML

---
- name: Install system dependencies
apt:
pkg:
- aptitude
- apt-transport-https
- ca-certificates
- curl
- software-properties-common
- python3-pip
- virtualenv
- python3-setuptools
state: latest
update_cache: true
- name: Add Docker GPG apt Key
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
state: present
- name: Add Docker Repository
apt_repository:
repo: deb https://download.docker.com/linux/ubuntu noble stable
state: present
- name: Install Docker CE
apt:
name: docker-ce
state: latest
update_cache: true
- name: Install Docker Python module
pip:
name: docker
- name: Configure Docker for LXC compatibility
copy:
content: |
{
"storage-driver": "vfs"
}
dest: /etc/docker/daemon.json
notify: restart docker
- name: Ensure Docker daemon is running
systemd:
name: docker
state: started
enabled: yes
- name: Create directories for services
file:
path: "{{ item.path }}"
state: directory
mode: '0755'
loop:
- { path: "{{ heimdall.config_dir }}" }
- { path: "{{ npm.data_dir }}" }
- { path: "{{ npm.letsencrypt_dir }}" }
- name: Pull Docker images
community.docker.docker_image:
name: "{{ item.image }}"
source: pull
loop:
- { image: "{{ heimdall.image }}" }
- { image: "{{ npm.image }}" }
- name: Deploy Heimdall container
community.docker.docker_container:
name: heimdall
image: "{{ heimdall.image }}"
state: started
restart_policy: unless-stopped
ports:
- "{{ heimdall.port }}"
volumes:
- "{{ heimdall.config_dir }}:/config"
env:
PUID: "{{ heimdall.user_id }}"
PGID: "{{ heimdall.group_id }}"
TZ: "{{ heimdall.timezone }}"
- name: Deploy NPM container
community.docker.docker_container:
name: npm
image: "{{ npm.image }}"
state: started
restart_policy: unless-stopped
ports: "{{ npm.ports }}"
volumes:
- "{{ npm.data_dir }}:/data"
- "{{ npm.letsencrypt_dir }}:/etc/letsencrypt"