mirror of
https://github.com/Steffo99/sophon.git
synced 2024-12-23 07:14:21 +00:00
Stefano Pigozzi
ba53064ce2
* ✨ Create Dockerfile for the backend * 🔧 Limit the allowed slug values * ✨ Create docker image for the proxy * ✨ Add serve script (and serve dependency) * ✨ Add .dockerignore symlinks to .gitignore * ✨ Create docker image for the frontend * 🔧 Proxy the frontend * 🔧 Configure the proxy.dbm directory * 🚧 WIP * 💥 Improve settings handling * 💥 Prepare backend for docker deployment * 🔧 Reserve `static` notebook slug * ✨ Make static work * 🐛 Set a default value for reduce * 💥 Things * 💥 Everything works!
36 lines
935 B
Docker
36 lines
935 B
Docker
FROM python:3.9.7-bullseye
|
|
LABEL maintainer="Stefano Pigozzi <me@steffo.eu>"
|
|
|
|
# Set the base workdir as seen in https://hub.docker.com/_/python/
|
|
WORKDIR /usr/src/app
|
|
|
|
# Install Poetry
|
|
RUN pip install 'poetry==1.1.11'
|
|
|
|
# Copy the environment requirements into the docker image
|
|
COPY pyproject.toml ./pyproject.toml
|
|
COPY poetry.lock ./poetry.lock
|
|
|
|
# Install the dependencies using Poetry
|
|
RUN poetry install --no-root
|
|
|
|
# Copy the rest of the project into the container
|
|
COPY . .
|
|
|
|
# Install the project using Poetry
|
|
RUN poetry install
|
|
|
|
# Disable buffering as it may cause problems in logs
|
|
ENV PYTHONUNBUFFERED=1
|
|
|
|
# Tell Django where the settings module is
|
|
ENV DJANGO_SETTINGS_MODULE="sophon.settings"
|
|
|
|
# Store the DBM file in a nice place
|
|
ENV DJANGO_PROXY_FILE="/run/sophon/proxy/proxy.dbm"
|
|
|
|
# Set the static files directory
|
|
ENV DJANGO_STATIC_ROOT="/run/sophon/static"
|
|
|
|
# Start the uvicorn server
|
|
ENTRYPOINT ["bash", "./docker_start.sh"]
|