Rewrite in Rust
This commit is contained in:
27
Dockerfile
27
Dockerfile
@ -1,12 +1,25 @@
|
||||
FROM nginx:alpine
|
||||
###################
|
||||
### BUILD STAGE ###
|
||||
###################
|
||||
FROM rust:1.47 as build_stage
|
||||
|
||||
EXPOSE 80
|
||||
# Install build dependencies
|
||||
RUN rustup target add x86_64-unknown-linux-musl
|
||||
|
||||
ENV PROXY_PASS_HOST=http://example.com
|
||||
# Build project
|
||||
WORKDIR /app
|
||||
COPY . .
|
||||
RUN cargo build --release --target x86_64-unknown-linux-musl
|
||||
RUN strip target/x86_64-unknown-linux-musl/release/curl_sh
|
||||
|
||||
COPY default.template /etc/nginx/conf.d/default.template
|
||||
########################
|
||||
### PRODUCTION STAGE ###
|
||||
########################
|
||||
FROM scratch
|
||||
|
||||
COPY script.sh /usr/share/nginx/script.sh
|
||||
WORKDIR /
|
||||
|
||||
CMD envsubst '$PROXY_PASS_HOST' < etc/nginx/conf.d/default.template > /etc/nginx/conf.d/default.conf && \
|
||||
nginx -g 'daemon off;'
|
||||
# Copy application binary
|
||||
COPY --from=build_stage /app/target/x86_64-unknown-linux-musl/release/curl_sh curl_sh
|
||||
|
||||
CMD ["/curl_sh"]
|
||||
|
||||
Reference in New Issue
Block a user