A small Flask app on Gunicorn, running 24/7 on hardware that costs nothing. Built for Ampere A1 (arm64), listens on port 8000, and starts with gunicorn wsgi:app --bind 0.0.0.0:8000.
FROM python:3.12-slim
WORKDIR /app
ENV PYTHONUNBUFFERED=1
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt gunicorn
COPY . .
EXPOSE 8000
CMD ["gunicorn", "wsgi:app", "--bind", "0.0.0.0:8000", "--workers", "3"]Flask is tiny; the whole image lands around 120 MB on ARM64 and boots in well under a second.
Cheaploy builds this image on your own Oracle Always Free VM, opens the ports, issues HTTPS and rolls back if health checks fail.