Cloudron packaging

cloudron-minibase

A small Cloudron-compatible base image for apps that do not need the full runtime stack bundled into cloudron/base.

Use this in your Dockerfile:
FROM tcmbp132021/cloudron-minibase:0.0.1@sha256:85b5d851685962eecb7acfe3adaa77907b023fbe81f09cfc29a722eb03f6c952

OR

FROM tcmbp132021/cloudron-minibase:ubuntu24.04@sha256:85b5d851685962eecb7acfe3adaa77907b023fbe81f09cfc29a722eb03f6c952

This is the published linux/amd64 image digest to pin in FROM.

A new version will be available when cloudron/base starts to use Ubuntu 26.04.

What is included

  • bash for the Cloudron web terminal and common start.sh scripts
  • gosu for dropping from root to the cloudron user
  • nano for editing files in the web terminal
  • ca-certificates, locales, tzdata
  • curl, wget, tar, gzip, unzip, jq, rsync
  • sed, awk, grep, find, and standard GNU utilities
  • less, procps, iproute2, net-tools, ping, sudo
  • a cloudron user at uid:gid 1000:1000
  • /app/code and /app/data
  • en_US.UTF-8 locale

What is excluded

  • Python
  • Node.js
  • PHP
  • Ruby
  • Go
  • Java
  • nginx
  • Apache
  • database CLI clients
  • supervisor
Model: install only the runtime and services your app actually needs.

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.

Ubuntu 24.04 base Cloudron user 1000:1000 linux/amd64 pinned digest Minimal runtime surface