-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
jiakun
committed
Sep 9, 2023
1 parent
290ea46
commit 257a8e5
Showing
2 changed files
with
107 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
name: main.ipv6 | ||
|
||
on: | ||
schedule: | ||
# 每半年3号,1:56执行一次,以同步官方 | ||
- cron: '56 1 3 */6 *' | ||
push: | ||
#branches: [ master ] | ||
paths: | ||
- Dockerfile.ipv6 | ||
pull_request: | ||
branches: [ master ] | ||
|
||
# Allows you to run this workflow manually from the Actions tab | ||
workflow_dispatch: | ||
|
||
jobs: | ||
build-and-push: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | ||
- uses: actions/checkout@v2 | ||
|
||
# 设置 QEMU 以支持多个平台 | ||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v1 | ||
|
||
# 设置 buildx | ||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v1 | ||
|
||
# 配置缓存 | ||
- name: Cache Docker layers | ||
uses: actions/cache@v2 | ||
with: | ||
path: /tmp/.buildx-cache | ||
key: ${{ runner.os }}-buildx-${{ github.sha }} | ||
restore-keys: | | ||
${{ runner.os }}-buildx- | ||
# 登录 dockerhub | ||
- name: Login to Docker Hub | ||
uses: docker/login-action@v1 | ||
with: | ||
username: ${{ secrets.DOCKERHUB_USERNAME }} | ||
password: ${{ secrets.DOCKERHUB_TOKEN }} | ||
|
||
# 编译并推送到 dockerhub | ||
- name: Build and push | ||
uses: docker/build-push-action@v2 | ||
with: | ||
context: . | ||
file: Dockerfile.ipv6 | ||
platforms: linux/amd64,linux/arm64,linux/arm/v7 | ||
push: true | ||
cache-from: type=local,src=/tmp/.buildx-cache | ||
cache-to: type=local,dest=/tmp/.buildx-cache-new | ||
tags: | | ||
ryjer/opentracker:ipv6 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
FROM alpine as build | ||
|
||
WORKDIR /src | ||
RUN apk add gcc \ | ||
g++ \ | ||
make \ | ||
git \ | ||
cvs \ | ||
zlib-dev | ||
|
||
# 下载并编译 libowfat 库 | ||
RUN cvs -d :pserver:[email protected]:/cvs -z9 co libowfat \ | ||
&& cd libowfat \ | ||
&& make | ||
|
||
# 从官网下载最新 opentracker 源码,并开启Makefile特性:ipv6, 客户端通过ip,关闭full scrape | ||
RUN git clone git://erdgeist.org/opentracker \ | ||
&& cd opentracker \ | ||
&& sed -i '/FEATURES+=-DWANT_V6$/s/^#//' Makefile \ | ||
&& sed -i '/FEATURES+=-DWANT_IP_FROM_QUERY_STRING$/s/^#//' Makefile \ | ||
&& sed -i '/^FEATURES+=-DWANT_FULLSCRAPE$/s/^/#/' Makefile \ | ||
&& make -j4 | ||
|
||
|
||
FROM alpine | ||
|
||
# XDG目录规范 | ||
ENV XDG_CONFIG_HOME=/config | ||
|
||
COPY --from=build /src/opentracker/opentracker /bin/opentracker | ||
|
||
# 创建配置目录 | ||
RUN apk add --no-cache curl && \ | ||
mkdir -p ${XDG_CONFIG_HOME} | ||
|
||
# 对外暴露配置卷 | ||
VOLUME ["${XDG_CONFIG_HOME}"] | ||
|
||
# 复制配置文件到配置路径 | ||
COPY ./opentracker.conf ${XDG_CONFIG_HOME}/opentracker.conf | ||
COPY ./whitelist ${XDG_CONFIG_HOME}/whitelist | ||
COPY ./blacklist ${XDG_CONFIG_HOME}/blacklist | ||
|
||
EXPOSE 6969/tcp | ||
EXPOSE 6969/udp | ||
|
||
CMD ["/bin/opentracker", "-f", "/config/opentracker.conf", "-d", "${XDG_CONFIG_HOME}"] |