Playbooky (novy nazev -> co dela):
- priprav-novy-server.yml (kompletni setup noveho serveru)
- nasad-sluzby.yml (nasadi Docker sluzby z docker-services/)
- aktualizuj-sluzby.yml (docker compose pull && up -d)
- zabezpec-server.yml (sysctl, auditd, unattended-upgrades)
- bootstrap-server.yml SMAZAN (duplicitni s priprav-novy-server)
Role (novy nazev -> co dela):
- zaklad (update + base baliky + timezone)
- uzivatel-deploy (vytvori deploy usera UID 1000)
- ssh-klice (authorized_keys deployment)
- docker (Docker Engine + Compose plugin) - ponechan anglicky (IT konvence)
- adresare (/home/deploy/{docker,scripts,backups,logs,...})
- firewall SMAZAN (nepouziva se)
Reference v playbooku aktualizovany na nove nazvy roli.
README.md kompletne prepracovan v cestine pro zacatecniky - vysvetluje
co Ansible je, jak nainstalovat, jak vytvorit inventory, jak spustit
playbook, jak overit ze vse funguje.
43 lines
1.3 KiB
YAML
43 lines
1.3 KiB
YAML
---
|
|
# Nasad Docker sluzby z docker-services/ adresare
|
|
#
|
|
# Pouziti:
|
|
# ansible-playbook -i inventory.yml playbooks/deploy-services.yml
|
|
# ansible-playbook -i inventory.yml playbooks/deploy-services.yml --extra-vars "services=[portainer,vaultwarden]"
|
|
#
|
|
- name: Nasad Docker sluzby
|
|
hosts: homeservers
|
|
become: true
|
|
gather_facts: true
|
|
|
|
vars:
|
|
services_repo: https://github.com/mates/mates-docker-services.git
|
|
services_path: "/home/{{ docker_user }}/docker-services"
|
|
services: "{{ services_to_deploy | default(['portainer', 'vaultwarden', 'gitea']) }}"
|
|
|
|
tasks:
|
|
- name: Klonuj services repo
|
|
ansible.builtin.git:
|
|
repo: "{{ services_repo }}"
|
|
dest: "{{ services_path }}"
|
|
force: false
|
|
update: true
|
|
become_user: "{{ docker_user }}"
|
|
|
|
- name: Vytvor .env z prikladu (pokud neexistuje)
|
|
ansible.builtin.copy:
|
|
src: "{{ services_path }}/{{ item }}/.env.example"
|
|
dest: "{{ services_path }}/{{ item }}/.env"
|
|
remote_src: true
|
|
force: false
|
|
loop: "{{ services }}"
|
|
become_user: "{{ docker_user }}"
|
|
|
|
- name: Nasad sluzby
|
|
community.docker.docker_compose_v2:
|
|
project_src: "{{ services_path }}/{{ item }}"
|
|
state: present
|
|
pull: missing
|
|
loop: "{{ services }}"
|
|
become_user: "{{ docker_user }}"
|