20 lines
		
	
	
		
			697 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			697 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
| FROM ghcr.io/astral-sh/uv:python3.13-alpine as builder
 | |
| ENV UV_COMPILE_BYTECODE=1 UV_LINK_MODE=copy UV_PYTHON_DOWNLOADS=0
 | |
| WORKDIR /app
 | |
| ADD . /app
 | |
| RUN apk add --no-cache cargo git libpq libpq-dev && \
 | |
|     uv sync --frozen --no-install-project --no-dev --extra postgres --extra sentry
 | |
| RUN --mount=type=cache,target=/root/.cache/uv \
 | |
|     uv sync --frozen --no-dev --extra postgres --extra sentry
 | |
| 
 | |
| FROM python:3.13-alpine3.20
 | |
| # slixmpp requires libgcc and libpq for Postgres support
 | |
| RUN apk add --no-cache libgcc libpq
 | |
| 
 | |
| # Install the application
 | |
| COPY --from=builder /app /app
 | |
| WORKDIR /app
 | |
| ENV PATH="/app/.venv/bin:$PATH"
 | |
| 
 | |
| CMD ["/app/.venv/bin/fastapi", "run", "src/xmpp_api/main.py", "--port", "8080"]
 |