Docker images
We publish docker images on our Codeberg registry.
The same images are used for:
- in the Co-op cloud setup
- in the example docker-compose setup
- in our karrot.world deployment (which uses podman instead of docker) (backend-only)
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:
name | default | description |
---|---|---|
LISTEN | 8080 | value for nginx listen directive |
BACKEND | app:8000 | value 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_SIZE | 10m | max upload size, should also set the same variable in the backend |
CSP_CONNECT_SRC | empty string | if 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