feat: Gitea CI workflow + registry image для деплоя
- .gitea/workflows/docker-build.yml: билд и пуш образа в Gitea Container Registry - docker-compose.server.yml: убрал build context, используем registry image - Требует REGISTRY_TOKEN секрет в настройках репо Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
33
.gitea/workflows/docker-build.yml
Normal file
33
.gitea/workflows/docker-build.yml
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
name: Build and Push Docker Image
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Clone repository
|
||||||
|
env:
|
||||||
|
GIT_TOKEN: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
|
run: |
|
||||||
|
SERVER_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||')
|
||||||
|
git clone --depth 2 "http://${{ gitea.actor }}:${GIT_TOKEN}@${SERVER_HOST}/${{ gitea.repository }}.git" .
|
||||||
|
git checkout ${{ gitea.sha }}
|
||||||
|
|
||||||
|
- name: Build and push image
|
||||||
|
run: |
|
||||||
|
REGISTRY_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||')
|
||||||
|
IMAGE="${REGISTRY_HOST}/${{ gitea.repository }}/sing-proxy"
|
||||||
|
|
||||||
|
echo "${{ secrets.REGISTRY_TOKEN }}" | docker login "$REGISTRY_HOST" -u "${{ gitea.actor }}" --password-stdin
|
||||||
|
|
||||||
|
docker build \
|
||||||
|
-f docker/Dockerfile.singbox \
|
||||||
|
-t "${IMAGE}:latest" \
|
||||||
|
.
|
||||||
|
|
||||||
|
docker push "${IMAGE}:latest"
|
||||||
|
echo "Pushed: ${IMAGE}:latest"
|
||||||
@@ -12,9 +12,7 @@ version: "3.9"
|
|||||||
services:
|
services:
|
||||||
sing-proxy:
|
sing-proxy:
|
||||||
container_name: sing-proxy
|
container_name: sing-proxy
|
||||||
build:
|
image: ${REGISTRY_HOST:-192.168.50.109:3000}/dokril/vpn-proxy/sing-proxy:latest
|
||||||
context: .
|
|
||||||
dockerfile: docker/Dockerfile.singbox
|
|
||||||
|
|
||||||
# HOST MODE — контейнер использует сеть хоста напрямую
|
# HOST MODE — контейнер использует сеть хоста напрямую
|
||||||
# Это решает проблему UDP ASSOCIATE для SOCKS5
|
# Это решает проблему UDP ASSOCIATE для SOCKS5
|
||||||
@@ -35,7 +33,8 @@ services:
|
|||||||
limits:
|
limits:
|
||||||
memory: 256m
|
memory: 256m
|
||||||
|
|
||||||
# Порты при network_mode: host не нужно пробрасывать,
|
# Порты при network_mode: host не нужны.
|
||||||
# они автоматически доступны на хосте:
|
# Сервисы доступны напрямую на хосте:
|
||||||
# - 3456: Веб-интерфейс (PORT)
|
# - 3456: Веб-интерфейс (PORT)
|
||||||
# - 8080: SOCKS5/HTTP прокси (PROXY_PORT)
|
# - 8080: SOCKS5/HTTP прокси (PROXY_PORT)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user