Free tool · no signup

    Django Dockerfile for Oracle Cloud ARM

    Gunicorn, static files and migrations on an Always Free ARM VM — with a real filesystem and no cold starts. Built for Ampere A1 (arm64), listens on port 8000, and starts with gunicorn config.wsgi:application --bind 0.0.0.0:8000.

    Dockerfile
    FROM python:3.12-slim
    WORKDIR /app
    ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1
    RUN apt-get update && apt-get install -y --no-install-recommends build-essential libpq-dev \
     && rm -rf /var/lib/apt/lists/*
    COPY requirements.txt .
    RUN pip install --no-cache-dir -r requirements.txt gunicorn
    COPY . .
    RUN python manage.py collectstatic --noinput
    EXPOSE 8000
    CMD ["gunicorn", "config.wsgi:application", "--bind", "0.0.0.0:8000", "--workers", "3"]

    ARM notes for Django

    Every wheel Django needs (psycopg, Pillow, cryptography) ships an aarch64 build, so installs are fast. Size workers as (2 x OCPU) + 1 — three workers on a 1 OCPU instance is a sensible default.

    Skip the build, network and TLS setup

    Cheaploy builds this image on your own Oracle Always Free VM, opens the ports, issues HTTPS and rolls back if health checks fail.

    Other stacks