Replace the Dockerfile CMD from gunicorn to `python -m snek.app`, add MIT LICENSE.txt, populate pyproject.toml with project metadata and dependencies, refactor forms into `snek.form.login` and `snek.form.register` with new HTMLElement system, delete old `snek/forms.py`, add `snek/model/user.py` with User model, restructure `snek/app.py` imports and router setup to use new view modules, rename `styles.css` to `base.css` and strip comments, add `fancy-button.js` custom element, and update `compose.yml` entrypoint accordingly.
42 lines
1.1 KiB
Docker
42 lines
1.1 KiB
Docker
FROM surnet/alpine-wkhtmltopdf:3.21.2-0.12.6-full as wkhtmltopdf
|
|
FROM python:3.10-alpine
|
|
WORKDIR /code
|
|
ENV FLASK_APP=app.py
|
|
ENV FLASK_RUN_HOST=0.0.0.0
|
|
RUN apk add --no-cache gcc musl-dev linux-headers git
|
|
|
|
#WKHTMLTOPDFNEEDS
|
|
RUN apk add --no-cache \
|
|
libstdc++ \
|
|
libx11 \
|
|
libxrender \
|
|
libxext \
|
|
libssl3 \
|
|
ca-certificates \
|
|
fontconfig \
|
|
freetype \
|
|
ttf-dejavu \
|
|
ttf-droid \
|
|
ttf-freefont \
|
|
ttf-liberation \
|
|
# more fonts
|
|
&& apk add --no-cache --virtual .build-deps \
|
|
msttcorefonts-installer \
|
|
# Install microsoft fonts
|
|
&& update-ms-fonts \
|
|
&& fc-cache -f \
|
|
# Clean up when done
|
|
&& rm -rf /tmp/* \
|
|
&& apk del .build-deps
|
|
COPY --from=wkhtmltopdf /bin/wkhtmltopdf /bin/wkhtmltopdf
|
|
COPY --from=wkhtmltopdf /bin/wkhtmltoimage /bin/wkhtmltoimage
|
|
COPY setup.cfg setup.cfg
|
|
COPY pyproject.toml pyproject.toml
|
|
COPY src src
|
|
RUN pip install --upgrade pip
|
|
RUN pip install -e .
|
|
EXPOSE 8081
|
|
|
|
python -m snek.app
|
|
#CMD ["gunicorn", "-w", "10", "-k", "aiohttp.worker.GunicornWebWorker", "snek.gunicorn:app","--bind","0.0.0.0:8081"]
|