Why use this instead of the official cloudron/base?
The official cloudron/base is still the easiest choice when you want a lot of
runtimes and tools ready to go. This image is for a different tradeoff.
The main reason to use cloudron-minibase is not runtime performance. Docker layer
sharing means the large official base image often has little impact once layers are already present
on the server.
The advantage here is around build time, pull/push time,
and keeping app images simpler when they only need one specific runtime.
Use cloudron-minibase when
- your app only needs one runtime
- you want smaller image pulls and pushes
- you want a tighter dependency surface
- you prefer each Dockerfile to declare its own runtime explicitly
Use cloudron/base when
- you want maximum convenience
- you expect to use bundled runtimes and extra tooling
- you do not care about trimming the base image
Typical use
Start from the pinned base image, then install your app runtime yourself.
FROM tcmbp132021/cloudron-minibase:ubuntu24.04@sha256:85b5d851685962eecb7acfe3adaa77907b023fbe81f09cfc29a722eb03f6c952
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 \
python3-pip \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app/code
COPY . .
COPY start.sh /app/code/start.sh
RUN chmod +x /app/code/start.sh
CMD ["/app/code/start.sh"]
Cloudron platform features still work as usual: reverse proxying, TLS, health checks,
backups of /app/data, addon credentials, and the web terminal.