From 2f7569976a80f7c1e520b343eb223b426979b7d3 Mon Sep 17 00:00:00 2001 From: Lep-Q Date: Thu, 27 Mar 2025 11:33:51 +0000 Subject: [PATCH] minor updates --- scripts/deploy.sh | 15 +++++++++++++++ scripts/hooks.json | 17 +++++++++++++++++ self-hosting/docker-compose/docker-compose.yml | 12 +++++++++--- self-hosting/docker-compose/nginx/nginx.conf | 9 ++++++++- 4 files changed, 49 insertions(+), 4 deletions(-) create mode 100755 scripts/deploy.sh create mode 100644 scripts/hooks.json diff --git a/scripts/deploy.sh b/scripts/deploy.sh new file mode 100755 index 000000000..58ac3eb69 --- /dev/null +++ b/scripts/deploy.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set -e + +cd ~/projects/omnivore + +echo "[*] Pulling latest code from main..." +git pull origin main + +echo "[*] Rebuilding services..." +docker-compose down +docker-compose pull +docker-compose up -d + +echo "[✓] Deployment completed." diff --git a/scripts/hooks.json b/scripts/hooks.json new file mode 100644 index 000000000..526ae5a19 --- /dev/null +++ b/scripts/hooks.json @@ -0,0 +1,17 @@ +[ + { + "id": "deploy", + "execute-command": "~/projects/omnivore/scripts/deploy.sh", + "command-working-directory": "~/projects/omnivore", + "trigger-rule": { + "match": { + "type": "payload-hash-sha1", + "secret": "webhooksecret", + "parameter": { + "source": "header", + "name": "X-Hub-Signature" + } + } + } + } +] diff --git a/self-hosting/docker-compose/docker-compose.yml b/self-hosting/docker-compose/docker-compose.yml index 345904f26..77d1c9322 100644 --- a/self-hosting/docker-compose/docker-compose.yml +++ b/self-hosting/docker-compose/docker-compose.yml @@ -22,9 +22,6 @@ services: migrate: image: "ghcr.io/omnivore-app/sh-migrate:latest" - build: - context: . - dockerfile: ./packages/db/Dockerfile container_name: "omnivore-migrate" command: '/bin/sh ./packages/db/setup.sh' env_file: @@ -146,6 +143,15 @@ services: - omnivore-network depends_on: - nginx + webhook: + image: almir/webhook + container_name: omnivore-webhook + volumes: + - ~/projects/omnivore/scripts/hooks.json:/etc/webhook/hooks.json + ports: + - "9000:9000" + networks: + - omnivore-network networks: omnivore-network: diff --git a/self-hosting/docker-compose/nginx/nginx.conf b/self-hosting/docker-compose/nginx/nginx.conf index 7cdac391c..a11ea073a 100644 --- a/self-hosting/docker-compose/nginx/nginx.conf +++ b/self-hosting/docker-compose/nginx/nginx.conf @@ -69,6 +69,13 @@ http { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } + location /hooks/ { + proxy_pass http://localhost:9000/hooks/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } add_header X-Frame-Options "SAMEORIGIN" always; add_header X-XSS-Protection "1; mode=block" always; @@ -77,4 +84,4 @@ http { gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml text/javascript; } -} \ No newline at end of file +}