| FROM alpine:latest as builder | |
| RUN apk add --no-cache curl jq unzip | |
| WORKDIR /tmp | |
| ENV REPO="wozulong/fuclaude" | |
| RUN ARCH=$(uname -m) && \ | |
| if [ "$ARCH" = "x86_64" ]; then \ | |
| FILE_PATTERN="linux-amd64-.*\.zip"; \ | |
| elif [ "$ARCH" = "aarch64" ]; then \ | |
| FILE_PATTERN="linux-arm64-.*\.zip"; \ | |
| fi && \ | |
| TAG=$(curl -s "https://api.github.com/repos/$REPO/releases/latest" | jq -r '.tag_name') && \ | |
| curl -s "https://api.github.com/repos/$REPO/releases/tags/$TAG" | jq -r --arg FILE_PATTERN $FILE_PATTERN '.assets[] | select(.name | test($FILE_PATTERN)).browser_download_url' | xargs -n 1 curl -LO && \ | |
| unzip -P linux.do '*.zip' -d ./ && \ | |
| ZIP_FILE=$(ls *.zip) && DIR_NAME=$(basename "$ZIP_FILE" .zip) && mv $DIR_NAME/* . && \ | |
| sed -i 's/127.0.0.1/0.0.0.0/g' config.json && \ | |
| rm -rf *.zip && rmdir $DIR_NAME | |
| FROM alpine:latest | |
| WORKDIR /app | |
| COPY --from=builder /tmp/ . | |
| EXPOSE 8181 | |
| CMD ["./fuclaude"] |