From f72451cdd8d046e71bae290ed504afde5071cdee Mon Sep 17 00:00:00 2001 From: Ilya Bikmeev Date: Fri, 5 Dec 2025 22:59:03 +0500 Subject: [PATCH] feature: added ansible playbook for deployment --- ansible/playbook.yml | 43 ++++++++++++++++++++++++++ ansible/roles/docker/tasks/main.yml | 31 +++++++++++++++++++ infra/docker-compose.yaml | 2 -- infra/nginx/conf.d/ingest-service.conf | 2 +- infra/nginx/conf.d/minio.conf | 2 +- 5 files changed, 76 insertions(+), 4 deletions(-) create mode 100644 ansible/playbook.yml create mode 100644 ansible/roles/docker/tasks/main.yml diff --git a/ansible/playbook.yml b/ansible/playbook.yml new file mode 100644 index 0000000..d2245ae --- /dev/null +++ b/ansible/playbook.yml @@ -0,0 +1,43 @@ +--- +- hosts: dev + become: yes + become_method: sudo + roles: + - docker + tasks: + - name: Enable 22 port ufw + ufw: + rule: allow + port: "22" + proto: tcp + state: enabled + + - name: Enable 80 port ufw + ufw: + rule: allow + port: "80" + proto: tcp + state: enabled + - name: Copy repository to server + copy: + src: "{{ item.src }}" + dest: "{{ item.dest }}" + loop: + - { + src: "{{ playbook_dir }}/../infra", + dest: "/home/{{ ansible_user }}/call-review-platform/infra", + } + - { + src: "{{ playbook_dir }}/../services", + dest: "/home/{{ ansible_user }}/call-review-platform/services", + } + - name: "Deploy infra" + tags: deploy_infra + community.docker.docker_compose_v2: + project_src: "/home/{{ ansible_user }}/call-review-platform/infra/infra" + state: present + - name: "Deploy ingest service" + tags: deploy_ingest + community.docker.docker_compose_v2: + project_src: "/home/{{ ansible_user }}/call-review-platform/services/services/ingest-service" + state: present diff --git a/ansible/roles/docker/tasks/main.yml b/ansible/roles/docker/tasks/main.yml new file mode 100644 index 0000000..3f5c682 --- /dev/null +++ b/ansible/roles/docker/tasks/main.yml @@ -0,0 +1,31 @@ +--- +- name: Install required packages + apt: + name: + - apt-transport-https + - ca-certificates + - curl + - gnupg + 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 focal stable" + state: present + +- name: Install Docker and Compose plugin + apt: + name: + - docker-ce + - docker-ce-cli + - containerd.io + - docker-buildx-plugin + - docker-compose-plugin + state: present + update_cache: yes diff --git a/infra/docker-compose.yaml b/infra/docker-compose.yaml index 8cc1b03..00944f1 100644 --- a/infra/docker-compose.yaml +++ b/infra/docker-compose.yaml @@ -17,8 +17,6 @@ services: POSTGRES_DB: ingest_db POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres - ports: - - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data healthcheck: diff --git a/infra/nginx/conf.d/ingest-service.conf b/infra/nginx/conf.d/ingest-service.conf index 85b24c9..6988876 100644 --- a/infra/nginx/conf.d/ingest-service.conf +++ b/infra/nginx/conf.d/ingest-service.conf @@ -1,6 +1,6 @@ server { listen 80; - server_name ingest-service.bikmeefftest.ru; + server_name crs-ingest-service.petrovskiy.ru; location / { proxy_pass http://ingest-service:8000; diff --git a/infra/nginx/conf.d/minio.conf b/infra/nginx/conf.d/minio.conf index 96d8d72..3798e23 100644 --- a/infra/nginx/conf.d/minio.conf +++ b/infra/nginx/conf.d/minio.conf @@ -13,7 +13,7 @@ server { server { listen 80; - server_name console.s3.bikmeefftest.ru; + server_name crs-minio.petrovskiy.ru; location / { proxy_pass http://minio:9001;