chore: docker file

This commit is contained in:
_
2021-02-17 21:48:18 +08:00
parent c84c8b7d0d
commit eafa094e1b
+64
View File
@@ -0,0 +1,64 @@
# https://lih.kg/ssmnqmX
FROM ubuntu:latest AS ssl
WORKDIR /tmp
RUN apt-get update \
&& apt-get install -y openssl \
&& openssl genrsa -passout pass:xxxx -out server.pass.key 2048 \
&& openssl rsa -passin pass:x -in server.pass.key -out server.key \
&& rm server.pass.key \
&& openssl req -nodes -new -x509 -key server.key -out server.crt \
-subj "/C=HK/ST=xxx/L=xxx/O=xxx/OU=xxx/CN=example.com" \
&& cat server.key server.crt > server.pem
FROM node:lts-alpine AS builder
WORKDIR /opt/back-home-safe
COPY ./back-home-safe/ .
RUN npm ci \
&& npm run build \
&& npm install http-server -g \
&& npm cache clean --force \
&& rm -rf ./public \
&& mkdir -p ./public \
&& mv ./build ./public/back-home-safe \
&& cp ./public/back-home-safe/index.html ./public/ \
&& cp ./public/back-home-safe/*.ico ./public/ \
&& cp ./public/back-home-safe/*.png ./public/ \
&& cp ./public/back-home-safe/*.json ./public/ \
&& cp ./public/back-home-safe/*.txt ./public/
FROM alpine:latest
RUN apk update \
&& apk add lighttpd \
&& rm -rf /var/cache/apk/*
COPY --from=ssl /tmp/server.* /etc/lighttpd/ssl/
COPY --from=builder /opt/back-home-safe/public/ /var/www/localhost/htdocs/
RUN chmod 0600 /etc/lighttpd/ssl/server.pem \
&& chown lighttpd:lighttpd /etc/lighttpd/ssl -R \
&& echo $'var.confdir = "/etc/lighttpd" \n\
server.document-root = "/var/www/localhost/htdocs/" \n\
server.username = "lighttpd" \n\
server.groupname = "lighttpd" \n\
server.indexfiles = ("index.html") \n\
include "mime-types.conf" \n\
server.modules = ( \n\
"mod_access", \n\
"mod_openssl", \n\
"mod_accesslog" \n\
) \n\
$SERVER["socket"] == ":443" { \n\
ssl.engine="enable" \n\
ssl.pemfile="/etc/lighttpd/ssl/server.pem" \n\
ssl.ca-file="/etc/lighttpd/ssl/server.crt" \n\
server.name="example.com" \n\
server.document-root = "/var/www/localhost/htdocs/" \n\
} \n '\
> /etc/lighttpd/lighttpd.conf
RUN chown lighttpd:lighttpd /var/www/localhost/htdocs -R \
&& chmod 750 /var/www/localhost/htdocs -R
CMD ["lighttpd","-D","-f","/etc/lighttpd/lighttpd.conf"]