Skip to content
Snippets Groups Projects
Dockerfile 835 B
Newer Older
  • Learn to ignore specific revisions
  • Dominik Hebeler's avatar
    Dominik Hebeler committed
    FROM node:19-bullseye as development
    
    ENV NODE_ENV development
    
    
    Dominik Hebeler's avatar
    Dominik Hebeler committed
    ENV DEBIAN_FRONTEND=noninteractive
    
    RUN echo "deb http://apt.postgresql.org/pub/repos/apt bullseye-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \
        wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
    RUN apt update && apt install -y borgbackup postgresql-client-15 && rm -rf /var/lib/apt/lists/*
    
    Dominik Hebeler's avatar
    Dominik Hebeler committed
    ENV DEBIAN_FRONTEND=
    
    
    RUN npm i -g cli-ux knex nodemon
    
    Dominik Hebeler's avatar
    Dominik Hebeler committed
    
    
    RUN mkdir /data && chown 1000:1000 /data
    
    Dominik Hebeler's avatar
    Dominik Hebeler committed
    VOLUME ["/data"]
    
    Dominik Hebeler's avatar
    Dominik Hebeler committed
    WORKDIR /app
    
    ENTRYPOINT [ "/bin/bash", "-c"]
    
    
    CMD ["npm i && knex migrate:latest && nodemon --signal SIGTERM --exec node --verbose --inspect=0.0.0.0 ./bin/www"]
    
    Dominik Hebeler's avatar
    Dominik Hebeler committed
    
    FROM development as production
    
    
    ENV TZ Europe/Berlin
    ENV NODE_ENV production
    
    
    Dominik Hebeler's avatar
    Dominik Hebeler committed
    ADD pass /app
    
    
    ENTRYPOINT [ "/usr/local/bin/node" ]
    
    CMD ["./bin/www"]