commit 1669616364ff250737aa89249aa7789eb1903566 Author: Стороженко Евгений Владимирович Date: Sun Mar 29 21:15:27 2026 +0300 Initial commit 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