Add a docker image
This commit is contained in:
committed by
nitnelave
parent
e09c73efce
commit
8e049c9e54
55
Dockerfile
Normal file
55
Dockerfile
Normal file
@@ -0,0 +1,55 @@
|
||||
# Build image
|
||||
FROM rust:alpine AS builder
|
||||
|
||||
RUN set -x \
|
||||
# Add user
|
||||
&& addgroup --gid 10001 app \
|
||||
&& adduser --disabled-password \
|
||||
--gecos '' \
|
||||
--ingroup app \
|
||||
--home /app \
|
||||
--uid 10001 \
|
||||
app
|
||||
RUN set -x \
|
||||
# Install required packages
|
||||
&& apk add npm openssl-dev musl-dev
|
||||
USER app
|
||||
WORKDIR /app
|
||||
RUN set -x \
|
||||
# Install build tools
|
||||
&& RUSTFLAGS=-Ctarget-feature=-crt-static cargo install wasm-pack \
|
||||
&& npm install rollup
|
||||
# Build
|
||||
COPY --chown=app:app . /app
|
||||
RUN cargo build --release
|
||||
# TODO: release mode.
|
||||
RUN ./app/build.sh
|
||||
|
||||
|
||||
# Final image
|
||||
FROM alpine
|
||||
|
||||
RUN set -x \
|
||||
# Add user
|
||||
&& addgroup --gid 10001 app \
|
||||
&& adduser --disabled-password \
|
||||
--gecos '' \
|
||||
--ingroup app \
|
||||
--home /app \
|
||||
--uid 10001 \
|
||||
app
|
||||
|
||||
RUN mkdir /data && chown app:app /data
|
||||
USER app
|
||||
WORKDIR /app
|
||||
COPY --chown=app:app --from=builder /app/app/index.html app/index.html
|
||||
COPY --chown=app:app --from=builder /app/app/main.js app/main.js
|
||||
COPY --chown=app:app --from=builder /app/app/pkg app/pkg
|
||||
COPY --chown=app:app --from=builder /app/target/release/lldap lldap
|
||||
|
||||
ENV LDAP_PORT=3890
|
||||
ENV HTTP_PORT=17170
|
||||
|
||||
EXPOSE ${LDAP_PORT} ${HTTP_PORT}
|
||||
|
||||
CMD ["/app/lldap", "--config_file", "/data/lldap_config.toml"]
|
||||
Reference in New Issue
Block a user