From 6c75d9448935b9c4a4b22ecf7bec50522966e79e Mon Sep 17 00:00:00 2001 From: TikhonP Date: Sun, 21 Dec 2025 22:58:23 +0300 Subject: [PATCH 1/2] Added workflow to build final working docker image and push it to ghcr --- .github/workflows/docker.yml | 47 ++++++++++++++++++++++++++++++++++++ Dockerfile.x86_image | 19 +++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 .github/workflows/docker.yml create mode 100644 Dockerfile.x86_image diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000..4c34cb2 --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,47 @@ +name: Build and Push Docker Image + +on: + push: + branches: + - main + tags: + - '*' + workflow_dispatch: + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + build: + runs-on: ubuntu-latest + + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push Docker image + uses: docker/build-push-action@v6 + with: + context: . + file: ./Dockerfile.x86_image + push: true + platforms: linux/amd64 + tags: | + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }} + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }} + ${{ github.ref == 'refs/heads/main' && format('{0}/{1}:latest', env.REGISTRY, env.IMAGE_NAME) || '' }} diff --git a/Dockerfile.x86_image b/Dockerfile.x86_image new file mode 100644 index 0000000..34d5770 --- /dev/null +++ b/Dockerfile.x86_image @@ -0,0 +1,19 @@ +FROM debian:trixie-slim AS builder +ENV DEBIAN_FRONTEND=noninteractive +RUN apt-get update && apt-get install -y \ + build-essential cmake llvm unzip curl \ + && rm -rf /var/lib/apt/lists/* +WORKDIR /app +RUN curl -o android-ndk-r23b-linux.zip https://dl.google.com/android/repository/android-ndk-r23b-linux.zip \ + && unzip -q -d ~ android-ndk-r23b-linux.zip +COPY ./ ./ +RUN mkdir build/ && cd build && cmake .. && make + + +FROM debian:stable-slim +ENV args="" +COPY --from=builder /app/rootfs /app/rootfs +COPY --from=builder /app/wrapper /app/wrapper +WORKDIR /app +CMD ["sh", "-c", "/app/wrapper $args"] +EXPOSE 10020 20020 30020 From fb5fcc5b88e78dfa408efc4900b2c5139611b206 Mon Sep 17 00:00:00 2001 From: TikhonP Date: Sun, 21 Dec 2025 23:49:34 +0300 Subject: [PATCH 2/2] Update README.md --- README.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/README.md b/README.md index f55825b..1da5cac 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,27 @@ Installation methods: ### Docker +Available complete image for x86_64 arch. + +1. First login: + ``` + docker run -it \ + -v ./data:/app/rootfs/data \ + -e args='-L username:password -H 0.0.0.0' \ + ghcr.io/WorldObservationLog/wrapper + ``` + +2. Then run: + ``` + docker run \ + -v ./data:/app/rootfs/data \ + -p 10020:10020 -p 20020:20020 -p 30020:30020 \ + -e args="-H 0.0.0.0" \ + ghcr.io/WorldObservationLog/wrapper + ``` + +### Docker legacy + Available for x86_64 and arm64. Need to download prebuilt version from releases or actions. 1. Build image: