diff --git a/.woodpecker/build-and-publish.yml b/.woodpecker/build-and-publish.yml index d8a9111..c0f367a 100644 --- a/.woodpecker/build-and-publish.yml +++ b/.woodpecker/build-and-publish.yml @@ -3,26 +3,6 @@ when: branch: main steps: - - name: build-x86_64 - image: rust:bookworm - commands: - - cargo build --release - - cp target/release/backend target/backend-amd64 - - name: build-arm64 - image: rust:bookworm - commands: - - install -m 0755 -d /etc/apt/keyrings - - curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc - - chmod a+r /etc/apt/keyrings/docker.asc - - echo \ - "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ - $(. /etc/os-release && echo "$VERSION_CODENAME") stable" > /etc/apt/sources.list.d/docker.list - - apt-get update && apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin - - CROSS_CONTAINER_IN_CONTAINER=true cargo install -f cross - - CROSS_CONTAINER_IN_CONTAINER=true cross build --target=aarch64-unknown-linux-gnu --release - - cp target/aarch64-unknown-linux/release/backend target/backend-arm64 - volumes: - - /var/run/podman/podman.sock:/var/run/docker.sock - name: container-build-and-publish image: docker commands: @@ -32,4 +12,4 @@ steps: PASSWORD: from_secret: docker_password volumes: - - /var/run/podman/podman.sock:/var/run/docker.sock \ No newline at end of file + - /var/run/podman/podman.sock:/var/run/docker.sock diff --git a/Dockerfile b/Dockerfile index f242d62..7867f8b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,16 @@ +FROM rust:bookworm AS builder + +WORKDIR /src + +COPY . . + +RUN cargo build --release + FROM debian:12-slim RUN apt update && apt install libssl3 && rm -rf /var/lib/apt/lists/* /var/cache/apt/* /tmp/* -COPY target/release/backend-${TARGETARCH} /usr/bin/gorb-backend +COPY --from=builder /src/target/release/backend /usr/bin/gorb-backend COPY entrypoint.sh /usr/bin/entrypoint.sh @@ -10,10 +18,6 @@ RUN useradd --create-home --home-dir /gorb gorb USER gorb -ENV DATABASE_USERNAME="gorb" -ENV DATABASE_PASSWORD="gorb" -ENV DATABASE="gorb" -ENV DATABASE_HOST="localhost" -ENV DATABASE_PORT="5432" +ENV DATABASE_USERNAME="gorb" DATABASE_PASSWORD="gorb" DATABASE="gorb" DATABASE_HOST="localhost" DATABASE_PORT="5432" ENTRYPOINT ["/usr/bin/entrypoint.sh"]