multiuser/subscriptions/notifications
This commit is contained in:
		
							
								
								
									
										45
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | ||||
| # syntax=docker/dockerfile:1 | ||||
| FROM python:3.13-slim | ||||
|  | ||||
| ENV PYTHONDONTWRITEBYTECODE=1 \ | ||||
|     PYTHONUNBUFFERED=1 | ||||
|  | ||||
| WORKDIR /app | ||||
|  | ||||
| # System deps (include cron) | ||||
| RUN apt-get update && apt-get install -y --no-install-recommends \ | ||||
|     build-essential \ | ||||
|     curl \ | ||||
|     cron \ | ||||
|     && rm -rf /var/lib/apt/lists/* | ||||
|  | ||||
| # Copy project | ||||
| COPY Pipfile Pipfile.lock /app/ | ||||
| RUN pip install pipenv && PIPENV_VENV_IN_PROJECT=1 pipenv install --deploy --system | ||||
|  | ||||
| COPY . /app | ||||
|  | ||||
| # Optional non-root user (not used as default to allow cron) | ||||
| RUN useradd -ms /bin/bash app && chown -R app:app /app | ||||
| # USER app  # keep running as root to manage cron | ||||
|  | ||||
| # Runtime env defaults | ||||
| ENV DJANGO_DEBUG=true \ | ||||
|     DJANGO_ALLOWED_HOSTS=* \ | ||||
|     DB_PATH=/app/data/db.sqlite3 \ | ||||
|     NOTIFICATIONS_ALLOW_DUPLICATES=false \ | ||||
|     CRON_SCHEDULE="*/30 * * * *" \ | ||||
|     ADMIN_USERNAME= \ | ||||
|     ADMIN_PASSWORD= \ | ||||
|     ADMIN_EMAIL= | ||||
|  | ||||
| # create data dir for sqlite | ||||
| RUN mkdir -p /app/data | ||||
|  | ||||
| # Entrypoint script | ||||
| COPY docker/entrypoint.sh /entrypoint.sh | ||||
| RUN chmod +x /entrypoint.sh | ||||
|  | ||||
| EXPOSE 8000 | ||||
|  | ||||
| CMD ["/entrypoint.sh"] | ||||
		Reference in New Issue
	
	Block a user