mirror of
				https://github.com/spbleadersofdigtal/backend.git
				synced 2025-10-31 07:37:31 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			68 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| ARG PYTHON_VERSION=3.11-slim
 | |
| 
 | |
| # define an alias for the specfic python version used in this file.
 | |
| FROM python:${PYTHON_VERSION} as python
 | |
| 
 | |
| # Python 'run' stage
 | |
| FROM python as python-run-stage
 | |
| 
 | |
| ARG BUILD_ENVIRONMENT=local
 | |
| ARG APP_HOME=/app
 | |
| 
 | |
| ENV PYTHONUNBUFFERED 1
 | |
| ENV PYTHONDONTWRITEBYTECODE 1
 | |
| ENV BUILD_ENV ${BUILD_ENVIRONMENT}
 | |
| ENV POETRY_VERSION 1.4.2
 | |
| 
 | |
| WORKDIR ${APP_HOME}
 | |
| 
 | |
| # Install required system dependencies
 | |
| RUN apt-get update && apt-get install --no-install-recommends -y \
 | |
|   # psycopg2 dependencies
 | |
|   libpq-dev build-essential \
 | |
|   # Translations dependencies
 | |
|   gettext \
 | |
|   # cleaning up unused files
 | |
|   && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
 | |
|   && rm -rf /var/lib/apt/lists/*
 | |
| 
 | |
| RUN pip install "poetry==$POETRY_VERSION"
 | |
| RUN python -m venv /venv
 | |
| 
 | |
| COPY pyproject.toml poetry.lock /app/
 | |
| RUN poetry export -f requirements.txt | /venv/bin/pip install -r /dev/stdin
 | |
| 
 | |
| COPY . .
 | |
| RUN poetry build && /venv/bin/pip install dist/*.whl
 | |
| 
 | |
| COPY ./compose/production/django/entrypoint /entrypoint
 | |
| RUN sed -i 's/\r$//g' /entrypoint
 | |
| RUN chmod +x /entrypoint
 | |
| 
 | |
| COPY ./compose/production/django/manage /manage
 | |
| RUN sed -i 's/\r$//g' /manage
 | |
| RUN chmod +x /manage
 | |
| 
 | |
| COPY ./compose/local/django/start /start
 | |
| RUN sed -i 's/\r$//g' /start
 | |
| RUN chmod +x /start
 | |
| 
 | |
| 
 | |
| COPY ./compose/local/django/celery/worker/start /start-celeryworker
 | |
| RUN sed -i 's/\r$//g' /start-celeryworker
 | |
| RUN chmod +x /start-celeryworker
 | |
| 
 | |
| COPY ./compose/local/django/celery/beat/start /start-celerybeat
 | |
| RUN sed -i 's/\r$//g' /start-celerybeat
 | |
| RUN chmod +x /start-celerybeat
 | |
| 
 | |
| COPY ./compose/local/django/celery/flower/start /start-flower
 | |
| RUN sed -i 's/\r$//g' /start-flower
 | |
| RUN chmod +x /start-flower
 | |
| 
 | |
| 
 | |
| # copy application code to WORKDIR
 | |
| COPY . ${APP_HOME}
 | |
| 
 | |
| ENTRYPOINT ["/entrypoint"]
 |