From 1669616364ff250737aa89249aa7789eb1903566 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=82=D0=BE=D1=80=D0=BE=D0=B6=D0=B5=D0=BD=D0=BA?= =?UTF-8?q?=D0=BE=20=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=92?= =?UTF-8?q?=D0=BB=D0=B0=D0=B4=D0=B8=D0=BC=D0=B8=D1=80=D0=BE=D0=B2=D0=B8?= =?UTF-8?q?=D1=87?= Date: Sun, 29 Mar 2026 21:15:27 +0300 Subject: [PATCH] Initial commit --- ansible.cfg | 2 + inventory.ini | 2 + main.yml | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 106 insertions(+) create mode 100644 ansible.cfg create mode 100644 inventory.ini create mode 100644 main.yml diff --git a/ansible.cfg b/ansible.cfg new file mode 100644 index 0000000..928042c --- /dev/null +++ b/ansible.cfg @@ -0,0 +1,2 @@ +[defaults] +ssh_args = -F ~/.ssh/config diff --git a/inventory.ini b/inventory.ini new file mode 100644 index 0000000..81d7350 --- /dev/null +++ b/inventory.ini @@ -0,0 +1,2 @@ +[servers] +bigbox ansible_host=192.168.1.3 ansible_user=estorozhenko diff --git a/main.yml b/main.yml new file mode 100644 index 0000000..a72c453 --- /dev/null +++ b/main.yml @@ -0,0 +1,102 @@ +--- +- name: Настройка сервера bigbox + hosts: all + become: true + vars: + dns_servers: ["1.1.1.1", "8.8.8.8"] + gitea_version: "latest" + + tasks: + # 1. Исправление DNS (Domain Name System) + - name: Настроить systemd-resolved + ansible.builtin.copy: + dest: /etc/systemd/resolved.conf + content: | + [Resolve] + DNS={{ dns_servers | join(' ') }} + FallbackDNS=1.1.1.1 8.8.8.8 + notify: restart_resolved + + - name: Обновить кэш DNS + ansible.builtin.command: resolvectl flush-caches + changed_when: false + failed_when: false + + # 2. Подготовка системы + - name: Обновить кэш apt + ansible.builtin.apt: + update_cache: yes + cache_valid_time: 3600 + + - name: Установить зависимости + ansible.builtin.apt: + name: + - ca-certificates + - curl + - gnupg + - lsb-release + state: present + + # 3. Установка Docker + - name: Добавить ключ GPG (GnuPG — GNU Privacy Guard) Docker + ansible.builtin.apt_key: + url: https://download.docker.com/linux/ubuntu/gpg + state: present + + - name: Добавить репозиторий Docker + ansible.builtin.apt_repository: + repo: "deb [arch=amd64] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable" + state: present + + - name: Установить Docker Engine + ansible.builtin.apt: + name: + - docker-ce + - docker-ce-cli + - containerd.io + - docker-compose-plugin + state: present + update_cache: yes + + - name: Добавить пользователя в группу docker + ansible.builtin.user: + name: estorozhenko + groups: docker + append: true + + # 4. Деплой Gitea + - name: Создать директорию для Gitea + ansible.builtin.file: + path: /opt/gitea + state: directory + mode: '0755' + + - name: Создать docker-compose.yml для Gitea + ansible.builtin.copy: + dest: /opt/gitea/docker-compose.yml + content: | + version: '3' + services: + gitea: + image: gitea/gitea:{{ gitea_version }} + container_name: gitea + restart: always + ports: + - "3000:3000" + - "2222:22" + volumes: + - ./gitea-/data + environment: + - USER_UID=1000 + - USER_GID=1000 + + - name: Запустить Gitea + community.docker.docker_compose: + project_src: /opt/gitea + state: present + + handlers: + - name: restart_resolved + ansible.builtin.systemd: + name: systemd-resolved + state: restarted