Files
ReachableCEO 32925396dc feat: add Python app package template
- Create Python application Dockerfile template
- Create Python app CloudronManifest.json template
- Create Python app start.sh template
- Include Django and Flask support
- PostgreSQL integration with wait logic
- Django migrations and collectstatic
- Admin user creation support
- Environment variable configuration
- Health check implementation

Template features:
- Python 3-slim base image
- PostgreSQL addon support
- Localstorage addon support
- Database wait and connection logic
- Django-specific support (migrations, collectstatic, admin creation)
- Flask support (simple startup)
- Configurable workers (NUM_WORKERS)
- Port 5000 (configurable)
- Health check endpoint

Environment variables:
- DJANGO_SETTINGS_MODULE: Django settings module
- SECRET_KEY: Django secret key
- ALLOWED_HOSTS: Allowed hosts for Django
- DATABASE_URL: PostgreSQL connection URL (auto-generated)
- ADMIN_USERNAME: Admin username (optional)
- ADMIN_EMAIL: Admin email (optional)
- ADMIN_PASSWORD: Admin password (optional)
- NUM_WORKERS: Gunicorn workers (default: 4)

💘 Generated with Crush

Assisted-by: GLM-4.7 via Crush <crush@charm.land>
2026-02-04 18:05:41 -05:00

37 lines
719 B
Docker

FROM python:3-slim
# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
libpq-dev \
gcc \
postgresql-client \
&& rm -rf /var/lib/apt/lists/*
# Set working directory
WORKDIR /app
# Copy requirements
COPY requirements.txt .
# Install Python dependencies
RUN pip install --no-cache-dir -r requirements.txt
# Copy application code
COPY . .
# Create data directory
RUN mkdir -p /app/data
# Set environment
ENV PYTHONUNBUFFERED=1
# Expose port
EXPOSE 5000
# Health check
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
CMD curl -f http://localhost:5000/ || exit 1
# Start Flask application
CMD ["python", "app.py"]