migrate privoxy-docker from standalone repo (same registry tags)
privoxy-docker image / build (amd64) (push) Successful in 8s
privoxy-docker image / build (arm64) (push) Successful in 14s
privoxy-docker image / amend-manifest (push) Successful in 11s

This commit is contained in:
thuanle committed 2026-09-07 15:54:52 +07:00
1 parent b823333d5d
commit 8afa3a51cc
5 files changed
+164

No files matched your search

+68
View File
@@ -0,0 +1,68 @@
name: privoxy-docker image
on:
push:
paths:
- privoxy-docker/**
schedule:
- cron: '0 3 * * 0' # 03:00 sáng Chủ nhật (UTC), lệch giờ với image khác
workflow_dispatch: # Cho phép chạy tay nếu cần
env:
IMAGE_REPO: git.thuanle.me/public/privoxy-docker
IMAGE: privoxy-docker
jobs:
build:
strategy:
matrix:
arch:
- amd64
- arm64
runs-on: ${{ matrix.arch }}
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Login to Docker Registry
uses: docker/login-action@v4
with:
registry: git.thuanle.me
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build Docker images
run: |
echo "Building image ${{ env.IMAGE }} for architecture: ${{ matrix.arch }}"
docker build \
-f ${{ env.IMAGE }}/Dockerfile \
-t ${{ env.IMAGE_REPO }}:${{ matrix.arch }}-latest \
--label "build_date=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" \
--label "commit_sha=${{ github.sha }}" \
${{ env.IMAGE }}
docker push ${{ env.IMAGE_REPO }}:${{ matrix.arch }}-latest
amend-manifest:
runs-on: linux
needs: [build]
steps:
- name: Login to Docker Registry
uses: docker/login-action@v4
with:
registry: git.thuanle.me
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Push Docker manifest
run: |
echo "Delete existing manifest"
docker manifest rm ${{ env.IMAGE_REPO }}:latest || true
echo "Create new manifest"
docker manifest create ${{ env.IMAGE_REPO }}:latest \
${{ env.IMAGE_REPO }}:amd64-latest \
${{ env.IMAGE_REPO }}:arm64-latest
docker manifest push ${{ env.IMAGE_REPO }}:latest
+9
View File
@@ -32,6 +32,15 @@ docker run --rm git.thuanle.me/public/gitea-mcp:latest --help
- Chỉ build cho `amd64` (dành cho server có GPU NVIDIA, hiện là `ta`)
- Build lại mỗi Chủ nhật lúc 02:30 UTC với `--pull` để lấy binary agent mới nhất; server tiêu thụ qua watchtower
### privoxy-docker
- Registry: `git.thuanle.me/public/privoxy-docker:latest`
- Dockerfile: [privoxy-docker/Dockerfile](privoxy-docker/Dockerfile)
- Privoxy HTTP proxy chạy không-daemon, user non-root — chi tiết xem [privoxy-docker/README.md](privoxy-docker/README.md)
- Hỗ trợ kiến trúc: `amd64`, `arm64`
- Gộp từ repo riêng `public/privoxy-docker`, giữ nguyên tag registry
- Build lại mỗi Chủ nhật lúc 03:00 UTC
## Update
- Repo được build lại hàng tuần theo cron của từng workflow.
+11
View File
@@ -0,0 +1,11 @@
FROM alpine:latest
RUN apk add --no-cache privoxy
COPY config /etc/privoxy/
RUN chown -R 1000:1000 /etc/privoxy /var/log/privoxy
USER 1000:1000
CMD ["privoxy", "--no-daemon", "/etc/privoxy/config"]
+67
View File
@@ -0,0 +1,67 @@
# Privoxy Docker
Đây là một Docker image cho Privoxy, có thể chạy bằng Docker Compose.
> Đã gộp từ repo riêng `public/privoxy-docker` vào `public/image` (giữ nguyên tag registry).
## Nêu dùng `docker-compose.yml`
```yaml
services:
privoxy:
image: git.thuanle.me/public/privoxy-docker:latest
container_name: privoxy
ports:
- "8118:8118"
volumes:
- ./privoxy:/etc/privoxy
user: "1000:1000" # ✅ Set user theo sở hữu
restart: unless-stopped
labels:
- "com.centurylinklabs.watchtower.enable=true" # Cho phép Watchtower tự động cập nhật container khi cần
```
## Hướng dẫn chuỗi hành động
1. **Tạo thư mục cho mình:**
Tạo thư mục `privoxy` trong cùng thư mục chứa file `docker-compose.yml` để lưu file cấu hình riêng của bạn.
```sh
mkdir -p privoxy
```
2. **Chỉnh sửa file cấu hình Privoxy:**
- Tạo file `privoxy/config` với nội dung mình muốn
```
listen-address 0.0.0.0:8118
toggle 1
enable-remote-toggle 0
enable-edit-actions 0
enforce-blocks 1
buffer-limit 4096
logfile /dev/stdout
```
- Hãy copy file cấu hình mình tạo vào container (nếu chưa có mount config folder):
```sh
docker cp privoxy:/etc/privoxy/config ./privoxy/config
```
3. **Chạy docker lên:**
```sh
docker-compose up -d
```
4. **Thử cặp proxy:**
- Proxy sẽ lắng nghe tại địa chỉ `localhost:8118`.
- Cấu hình trình duyệt hoặc ứng dụng của bạn để sử dụng HTTP Proxy qua địa chỉ trên.
## Thông tin thêm
- Image được build mỗi Chủ nhật lúc 03:00 UTC, cho mọi kiến trúc (amd64, arm64).
- Để build và push image, xem file [build workflow](../.gitea/workflows/privoxy-docker.yml).
+9
View File
@@ -0,0 +1,9 @@
listen-address 0.0.0.0:8118
toggle 1
enable-remote-toggle 0
enable-edit-actions 0
enforce-blocks 1
buffer-limit 4096
logfile /dev/stdout