mirror of
https://github.com/xuthus83/pigallery2.git
synced 2024-11-03 21:04:03 +08:00
Alpine docker container
Build everything in the staged container and only copy the complete product to the final container. Also reduced the size of the container threefold. Created `data/{config,db,images,TEMP}` to make volumes possible for ease of use with docker and persistence of configurations. `config.json` symlinks to `data/config/config.json` since I don'T know how to call for the config in different path
This commit is contained in:
parent
83025f7b32
commit
3956b2d944
22
docker/alpine/Dockerfile
Normal file
22
docker/alpine/Dockerfile
Normal file
@ -0,0 +1,22 @@
|
||||
FROM node:alpine
|
||||
RUN apk add python build-base
|
||||
COPY . /build
|
||||
WORKDIR /build
|
||||
RUN set -x && npm install --unsafe-perm && npm run build-release && \
|
||||
cd /build/release && npm install --unsafe-perm
|
||||
RUN mkdir -p /build/release/data/config && \
|
||||
mkdir -p /build/release/data/db && \
|
||||
mkdir -p /build/release/data/image && \
|
||||
mkdir -p /build/release/data/TEMP && \
|
||||
cd /build/release && node backend/server.js && \
|
||||
sed -i 's/demo/data/g' config.json && sed -i 's@sqlite\.db@data/db/sqlite\.db@' config.json && \
|
||||
mv /build/release/config.json /build/release/data/config/config.json
|
||||
|
||||
FROM node:alpine
|
||||
WORKDIR /app
|
||||
ENTRYPOINT ["npm", "start"]
|
||||
EXPOSE 80
|
||||
ENV NODE_ENV=production
|
||||
COPY --from=0 /build/release /app
|
||||
RUN ln -s /app/data/config/config.json config.json
|
||||
VOLUME ["/app/data/config", "/app/data/db", "/app/data/images", "/app/data/TEMP"]
|
Loading…
Reference in New Issue
Block a user