Skip to content

Docker images

We publish docker images on our Codeberg registry.

The same images are used for:

Frontend

This is built on top of nginx library image, but adds in:

  • our pre-built assets
  • appropriate caching headers
  • configuration to safely serve up the different parts of the application
  • proxy configuration to connect to a backend
shell
docker pull codeberg.org/karrot/karrot-frontend:latest

The nginx config is templated and you can set:

namedefaultdescription
LISTEN8080value for nginx listen directive
BACKENDapp:8000value used in nginx proxy_pass directive ($request_uri is added to the end)
FILE_UPLOAD_DIR/app/uploads/user uploads directory, used to directly serve assets + via accel redirect header
FILE_UPLOAD_MAX_SIZE10mmax upload size, should also set the same variable in the backend
CSP_CONNECT_SRCempty stringif you need additional CSP connect values, e.g. using hosted livekit

Backend

This is the image for the karrot backend app, running python. It needs access to postgresql and redis.

shell
docker pull codeberg.org/karrot/karrot-backend:latest

It is configured using the environment variables specified in settings.

Versioning

The latest tag always corresponds to the main branch of each repo.

Each official release has a tagged image, you should always use the same tagged version for frontend and backend. Mismatched frontend/backend versions are not supported.

E.g. if you wanted to run Karrot version v16.2.0, you would use:

codeberg.org/karrot/karrot-frontend:v16.2.0
codeberg.org/karrot/karrot-backend:v16.2.0