feat: setup docker packaging

This commit is contained in:
Aravinth Manivannan 2022-05-23 18:53:13 +05:30
parent 428cb600a6
commit ff3963f798
Signed by: realaravinth
GPG key ID: AD9F0F08E855ED88
2 changed files with 46 additions and 6 deletions

40
Dockerfile Normal file
View file

@ -0,0 +1,40 @@
FROM rust:latest as rust
WORKDIR /src
#RUN mkdir /src/scripts
#COPY scripts/docker-cache.sh /src/scripts/docker-cache.sh
#RUN ./scripts/docker-cache.sh
#
#COPY Cargo.* /src/
#
#COPY db/db-core/Cargo.* /src/db/db-core/
#
#COPY db/db-sqlx-sqlite/Cargo.* /src/db/db-sqlx-sqlite/
#
#COPY db/migrator/Cargo.* /src/db/migrator/
#
#COPY forge/forge-core/Cargo.* /src/forge/forge-core/
#
#COPY forge/gitea/Cargo.* /src/forge/gitea/
#COPY utils/cache-bust/Cargo.* /src/utils/cache-bust/
#COPY federate/federate-core/Cargo.* /src/federate/federate-core/
#COPY federate/publiccodeyml/Cargo.* /src/federate/publiccodeyml/
#RUN find /src/
#RUN sed -i '/.*build.rs.*/d' Cargo.toml
#
#COPY db/db-sqlx-sqlite/migrations/ /src/db/db-sqlx-sqlite/migrations/
#COPY db/db-sqlx-sqlite/sqlx-data.json /src/db/db-sqlx-sqlite/sqlx-data.json
#COPY Makefile /src/
#
#RUN cargo --version
#RUN make release
COPY . /src/
RUN make release
FROM debian:bullseye
LABEL org.opencontainers.image.source https://github.com/forgeflux-org/starchart
RUN useradd -ms /bin/bash -u 1001 starchart
WORKDIR /home/mcaptcha
COPY --from=rust /src/target/release/starchart /usr/local/bin/
COPY --from=rust /src/config/default.toml /etc/starchart/config.toml
USER starchart
CMD [ "/usr/local/bin/starchart" ]

View file

@ -76,12 +76,12 @@ dev-env: ## Download development dependencies
doc: ## Prepare documentation doc: ## Prepare documentation
cargo doc --no-deps --workspace --all-features cargo doc --no-deps --workspace --all-features
#docker: ## Build docker images docker: ## Build docker images
# docker build -t realaravinth/gitpad:master -t realaravinth/gitpad:latest . docker build -t forgedfed/starchart:master -t forgedfed/starchart:latest .
#
#docker-publish: docker ## Build and publish docker images docker-publish: docker ## Build and publish docker images
# docker push realaravinth/gitpad:master docker push forgedfed/starchart:master
# docker push realaravinth/gitpad:latest docker push forgedfed/starchart:latest
lint: ## Lint codebase lint: ## Lint codebase
cargo fmt -v --all -- --emit files cargo fmt -v --all -- --emit files