FROM python:alpine AS base WORKDIR /app FROM base as deps WORKDIR /app COPY ./requirements.txt . RUN pip install -r requirements.txt FROM deps as scripts WORKDIR /app COPY ./backup.py . FROM scripts as app WORKDIR /app COPY ./src ./src FROM app AS env WORKDIR /app ARG CONSUMER_KEY ARG CONSUMER_SECRET ARG OAUTH_TOKEN ARG OAUTH_SECRET ARG BLOG_NAME ENV TBS_TS="1999-09-09 09:09" ENV TBS_CONSUMER_KEY "$CONSUMER_KEY" ENV TBS_CONSUMER_SECRET "$CONSUMER_SECRET" ENV TBS_OAUTH_TOKEN "$OAUTH_TOKEN" ENV TBS_OAUTH_SECRET "$OAUTH_SECRET" ENV TBS_BLOG_NAME "$BLOG_NAME" FROM env AS final RUN mkdir /app/site /app/src/posts RUN python backup.py $TBS_BLOG_NAME RUN (cd src && nikola build) FROM docker.io/nginx:alpine AS www COPY --from=final /app/site /usr/share/nginx/html EXPOSE 80