From 18c7cc65fe16a46276dcb7fc1d94cec74141311b Mon Sep 17 00:00:00 2001 From: kislovdm Date: Sat, 8 Aug 2026 11:06:03 +0300 Subject: [PATCH] Switch CI to Gitea: build/push to Gitea registry, deploy via Gitea Actions only --- .github/workflows/docker-image.yml | 56 ++++++++++++++++++++++++++++++ docker-compose.yml | 10 ++++-- 2 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/docker-image.yml diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml new file mode 100644 index 0000000..e56f18f --- /dev/null +++ b/.github/workflows/docker-image.yml @@ -0,0 +1,56 @@ +name: Create and publish a Docker image + +on: + push: + branches: [ "master" ] + +env: + REGISTRY: gitea.yandex5.ru + IMAGE_NAME: monster/telegram2vk_bot + +jobs: + build-and-push-image: + runs-on: ubuntu-latest + if: ${{ github.server_url != 'https://github.com' }} + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Log in to the Container registry + uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 + with: + registry: ${{ env.REGISTRY }} + username: ${{ vars.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + + - name: Build and push Docker image + uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4 + with: + context: . + push: true + tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }} + labels: ${{ steps.meta.outputs.labels }} + + - name: Install SSH Key + uses: shimataro/ssh-key-action@v2 + with: + key: ${{ secrets.SSH_GITEA_PRIVATE_KEY }} + known_hosts: 'just-a-placeholder-so-we-dont-get-errors' + + - name: Adding Known Hosts + run: ssh-keyscan -p ${{ vars.SSH_PORT }} -H ${{ vars.SSH_HOST }} >> ~/.ssh/known_hosts + + - name: "Deploy to server" + run: ssh monster@${{ vars.SSH_HOST }} -p ${{ vars.SSH_PORT }} 'cd docker.services/${{ github.event.repository.name }} && git pull && docker login ${{ env.REGISTRY }} -u ${{ vars.REGISTRY_USERNAME }} --password ${{ secrets.REGISTRY_TOKEN }} && docker compose pull && docker compose build && docker compose up -d && docker system prune --force' + + - name: Send message to Telegram + uses: Lukasss93/telegram-action@v2 + env: + TELEGRAM_TOKEN: ${{ vars.TELEGRAM_TOKEN }} + TELEGRAM_CHAT: 123622180 diff --git a/docker-compose.yml b/docker-compose.yml index 9dcca68..ffa54e0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,7 +4,9 @@ services: build: context: . dockerfile: Dockerfile - restart: unless-stopped + image: gitea.yandex5.ru/monster/telegram2vk_bot:master + container_name: telegram2vk + restart: always env_file: .env environment: # Имена ключей должны совпадать с свойствами Options (BotToken, ChannelId, ...), @@ -26,4 +28,8 @@ services: timeout: 12s retries: 3 start_period: 45s - + logging: + driver: json-file + options: + max-size: "10m" + max-file: "3"