mirror of
https://github.com/bckelley/tconnectsync.git
synced 2026-08-24 03:34:12 -05:00
Add dockerfile and instructions in README
This commit is contained in:
+38
@@ -0,0 +1,38 @@
|
||||
FROM python:3.9-slim as base
|
||||
|
||||
# The following is adapted from:
|
||||
# https://sourcery.ai/blog/python-docker/
|
||||
|
||||
# Setup env
|
||||
ENV LANG C.UTF-8
|
||||
ENV LC_ALL C.UTF-8
|
||||
ENV PYTHONDONTWRITEBYTECODE 1
|
||||
ENV PYTHONFAULTHANDLER 1
|
||||
|
||||
FROM base AS python-deps
|
||||
|
||||
# Install pipenv and compilation dependencies
|
||||
RUN pip install pipenv
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends gcc
|
||||
|
||||
# Install python dependencies in /.venv
|
||||
COPY Pipfile .
|
||||
COPY Pipfile.lock .
|
||||
RUN PIPENV_VENV_IN_PROJECT=1 pipenv install --deploy
|
||||
|
||||
FROM base AS runtime
|
||||
|
||||
# Copy virtualenv from python-deps stage
|
||||
COPY --from=python-deps /.venv /.venv
|
||||
ENV PATH="/.venv/bin:$PATH"
|
||||
|
||||
# Create and switch to a new user
|
||||
RUN useradd --create-home appuser
|
||||
WORKDIR /home/appuser
|
||||
USER appuser
|
||||
|
||||
# Install application into container
|
||||
COPY . .
|
||||
|
||||
# Run the application
|
||||
ENTRYPOINT ["python3", "-u", "main.py"]
|
||||
Reference in New Issue
Block a user