38 lines
773 B
Text
38 lines
773 B
Text
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_LAST_SYNC="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
|
|
RUN (cd src && nikola build)
|
|
|
|
FROM docker.io/nginx:alpine AS www
|
|
COPY --from=final /app/site /usr/share/nginx/html
|
|
EXPOSE 80
|