├── .github └── workflows │ └── main.yml ├── Dockerfile └── README.md /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: Publish Docker Image 2 | 3 | on: 4 | workflow_dispatch: 5 | push: 6 | branches: [master] 7 | pull_request: 8 | branches: [master] 9 | 10 | jobs: 11 | main: 12 | runs-on: Ubuntu-latest 13 | steps: 14 | - name: Check out the repo 15 | uses: actions/checkout@v4 16 | 17 | - name: Set up QEMU 18 | uses: docker/setup-qemu-action@v3 19 | 20 | - name: Set up Docker Buildx 21 | uses: docker/setup-buildx-action@v3 22 | 23 | - name: Login to DockerHub 24 | uses: docker/login-action@v3 25 | with: 26 | username: ${{ secrets.DOCKERHUB_USERNAME }} 27 | password: ${{ secrets.DOCKERHUB_TOKEN }} 28 | 29 | - name: Build and push 30 | uses: docker/build-push-action@v5 31 | with: 32 | platforms: | 33 | linux/amd64 34 | linux/arm64 35 | linux/arm/v7 36 | push: true 37 | tags: | 38 | izumiko/mihomo:latest 39 | izumiko/mihomo:${{ vars.MIHOMO_VERSION }} 40 | build-args: | 41 | MIHOMO_VERSION=${{ vars.MIHOMO_VERSION }} 42 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:latest 2 | 3 | LABEL maintainer="Izumiko " 4 | 5 | ARG TARGETOS TARGETARCH TARGETVARIANT MIHOMO_VERSION 6 | 7 | ENV MIHOMO_CONFIG_DIRECTORY=/root/.config/mihomo 8 | 9 | EXPOSE 7890 9090 10 | 11 | RUN apk add --update --no-cache ca-certificates \ 12 | && rm -rf /var/cache/apk/* 13 | 14 | RUN if [ "${TARGETARCH}" = "amd64" ]; \ 15 | then wget -qO mihomo.gz https://github.com/MetaCubeX/mihomo/releases/download/${MIHOMO_VERSION}/mihomo-${TARGETOS}-amd64-compatible-${MIHOMO_VERSION}.gz \ 16 | && gzip -d mihomo.gz && chmod +x mihomo \ 17 | && mv mihomo /usr/local/bin/mihomo; \ 18 | else wget -qO mihomo.gz https://github.com/MetaCubeX/mihomo/releases/download/${MIHOMO_VERSION}/mihomo-${TARGETOS}-${TARGETARCH}${TARGETVARIANT}-${MIHOMO_VERSION}.gz \ 19 | && gzip -d mihomo.gz && chmod +x mihomo \ 20 | && mv mihomo /usr/local/bin/mihomo; \ 21 | fi 22 | 23 | ENTRYPOINT /usr/local/bin/mihomo -d $MIHOMO_CONFIG_DIRECTORY 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## 项目介绍 2 | 3 | Github Repo: [izumiko/docker-mihomo](https://github.com/izumiko/docker-mihomo) 4 | 5 | ## 如何使用 6 | 7 | 默认配置目录为 `/root/.config/mihomo` ,可通过环境变量 `MIHOMO_CONFIG_DIRECTORY` 修改。 8 | 9 | ```shell 10 | docker run --name mihomo -d \ 11 | -p 7890:7890 \ 12 | -p 7891:7891 \ 13 | -p 7892:7892 \ 14 | -p 9090:9090 \ 15 | -v /path/to/config:/root/.config/mihomo \ 16 | izumiko/mihomo 17 | ``` 18 | --------------------------------------------------------------------------------