diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index a02fe58..05423a4 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -13,7 +13,7 @@ jobs: run: | echo "${{ secrets.SSH_PRIVATE_KEY }}" > /tmp/id_fin chmod 600 /tmp/id_fin -#ссылка на репо +#ключ машины - name: Create .env file run: echo "${{ secrets.RUNNER_ENV }}" > .env #env для runners @@ -41,13 +41,13 @@ jobs: run: echo "${{ secrets.WEDDING_SITE_ENV }}" > .env #env для проекта - name: Build image - run: docker build -t back:latest -f docker/dockerfile . + run: docker build -t back:latest -f docker/dockerfile.project . - name: Start docker-compose of project run: docker compose --env-file .env -f docker/docker-compose.yaml up -d - name: Build image caddy - run: docker build -t caddy:wedding -f docker/caddy/dockerfile . + run: docker build -t caddy:wedding -f docker/caddy/dockerfile.caddy . - name: Start docker-compose caddy run: docker compose -f docker/caddy/caddy.yaml up -d diff --git a/ansible/deploy.yml b/ansible/deploy.yml index 9879a7f..155fc45 100644 --- a/ansible/deploy.yml +++ b/ansible/deploy.yml @@ -1,9 +1,14 @@ -- hosts: servers +- name: Preflight checks and deploy wedding-site + hosts: servers become: yes vars: - env_file: $(pwd)/.env - tasks: + env_file: .env + pre_tasks: + - name: Ping server to check connectivity + ping: + + tasks: - name: Install wget apt: name: wget @@ -37,4 +42,4 @@ creates: /opt/infra/node-docker.yaml - name: Start node-docker - shell: docker-compose -f /opt/infra/node-docker.yaml up -d + shell: docker-compose -f /opt/infra/node-docker.yaml up -d \ No newline at end of file diff --git a/docker/caddy/caddy.yaml b/docker/caddy/caddy.yaml index 4edacb2..cb0b305 100644 --- a/docker/caddy/caddy.yaml +++ b/docker/caddy/caddy.yaml @@ -2,17 +2,19 @@ services: caddy: image: caddy:wedding restart: unless-stopped - cap_add: - - NET_ADMIN ports: - "80:80" - "443:443" - - "443:443/udp" volumes: - caddy_data:/data - caddy_config:/config networks: - - docker_wedding-site-network + - docker_wedding-site-network + healthcheck: + test: "curl -f https://ru.homyk.space" + interval: 5s + timeout: 30s + retries: 1 volumes: caddy_data: diff --git a/docker/caddy/conf/Caddyfile b/docker/caddy/conf/Caddyfile index 9bef0e6..84aee0d 100644 --- a/docker/caddy/conf/Caddyfile +++ b/docker/caddy/conf/Caddyfile @@ -14,7 +14,11 @@ https://ru.homyk.space { file_server log { - output stdout - format console + output file /data/logs/caddy.log { + roll_size 5mb + roll_keep 5 + roll_keep_for 72h } + format json +} } \ No newline at end of file diff --git a/docker/caddy/dockerfile b/docker/caddy/dockerfile.caddy similarity index 100% rename from docker/caddy/dockerfile rename to docker/caddy/dockerfile.caddy diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml index f4f385d..c509924 100644 --- a/docker/docker-compose.yaml +++ b/docker/docker-compose.yaml @@ -9,7 +9,11 @@ services: - "${PORT}:${PORT}" networks: - wedding-site-network - + healthcheck: + test: "curl -f http://localhost:${PORT}" + interval: 5s + timeout: 30s + retries: 1 networks: wedding-site-network: driver: bridge diff --git a/docker/dockerfile b/docker/dockerfile.project similarity index 96% rename from docker/dockerfile rename to docker/dockerfile.project index 7982e58..c77bbb9 100644 --- a/docker/dockerfile +++ b/docker/dockerfile.project @@ -1,7 +1,10 @@ FROM python:3.13-slim + WORKDIR /home/backend COPY ./ /home/backend + RUN python -m pip install --upgrade pip \ && python -m pip install -r requirements.txt + RUN chmod +x ./docker/start.sh ENTRYPOINT ["./docker/start.sh"] \ No newline at end of file diff --git a/docker/gitea_runner_image/dockerfile.ansible b/docker/gitea_runner_image/dockerfile.ansible index 1440266..f366a99 100644 --- a/docker/gitea_runner_image/dockerfile.ansible +++ b/docker/gitea_runner_image/dockerfile.ansible @@ -5,5 +5,4 @@ RUN apt-get update && apt-get install -y \ ansible \ && rm -rf /var/lib/apt/lists/* -# Проверка версий RUN node -v && npm -v && ansible --version \ No newline at end of file diff --git a/docker/gitea_runner_image/dockerfile.runner b/docker/gitea_runner_image/dockerfile.runner index 546d8c2..58904b1 100644 --- a/docker/gitea_runner_image/dockerfile.runner +++ b/docker/gitea_runner_image/dockerfile.runner @@ -1,18 +1,15 @@ # Dockerfile.runner FROM node:20-bullseye -# Устанавливаем зависимости RUN apt-get update && apt-get install -y \ curl \ lsb-release \ && rm -rf /var/lib/apt/lists/* -# Добавляем репозиторий Docker RUN curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg \ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" \ > /etc/apt/sources.list.d/docker.list \ && apt-get update \ && apt-get install -y docker-ce-cli docker-compose-plugin -# Проверка версий RUN node -v && npm -v && docker -v && docker compose version \ No newline at end of file