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