
* docker-example overhaul Update docker-example with a more realistic multi-compose deployment, and also a more simplistic single-image deploy. * Use `uv` for faster bootstrapping * Separate simple and production-ready docker files * Split compose.yaml into 3 parts * Persist sqlite db and tls keys * Include postgres and redis * Include Adminer and redis-commander for adminstration * Suppose upload persistence * Update documentation * Update Caddyfile for compatibility with new Upload API * Simple Dockerfile: keep `reflex export --frontend-only` Pre-pack the resulting image with npm dependencies to reduce startup time * Simplify simple docker file to just use pip
22 lines
633 B
Docker
22 lines
633 B
Docker
# This Dockerfile is used to deploy a simple single-container Reflex app instance.
|
|
FROM python:3.11
|
|
|
|
# Copy local context to `/app` inside container (see .dockerignore)
|
|
WORKDIR /app
|
|
COPY . .
|
|
|
|
# Install app requirements and reflex in the container
|
|
RUN pip install -r requirements.txt
|
|
|
|
# Deploy templates and prepare app
|
|
RUN reflex init
|
|
|
|
# Download all npm dependencies and compile and frontend
|
|
RUN reflex export --frontend-only --no-zip
|
|
|
|
# Needed until Reflex properly passes SIGTERM on backend.
|
|
STOPSIGNAL SIGKILL
|
|
|
|
# Always apply migrations before starting the backend.
|
|
CMD [ -d alembic ] && reflex db migrate; reflex run --env prod
|