Self host kolibri - full docker compose

Hello, I would like to try self hosting Kolibri + Kolibri studio. Is there a docker compose we can use to get everything running, without having to run any CLI commands? All my other self hosted services run this way. I also want to use a reverse proxy for it like traefik.

I found a docker compose for kolibri studio in the github repo, but it seemed for development purposes and not production use.

Hi @Hyu,

You are correct that the docker-compose.yml in Kolibri Studio is primarily for development purposes. Generally we don’t provide support for self-hosted deployments of Studio, but I also recognize that there’s much area for improvement in providing the tools and pathways to make it easier to do so.

Regarding Studio, the primary thing to consider is the persistence of data. For development, we use Minio, which is an S3 compatible file storage backend. Our production instance of Studio uses Google Cloud Storage, which can be configured through environment variables that influence values in the Django app settings. Additionally, the PostgreSQL and Redis services should likely persist data through docker volumes or mount points.

For Kolibri, the docker-compose.yml is only used for running a PostgreSQL database to run tests against. Kolibri uses SQLite by default, so you’d either want to persist Kolibri’s home outside of the container or use PostgreSQL instead. In any case, you’d have to build your own docker image for Kolibri. All of Kolibri’s option.ini settings are configurable through environment variables, prefixed with KOLIBRI_ (for example), through which you can configure Redis and PostgreSQL. An important aspect of running Kolibri within docker, where Kolibri’s facility data syncing will be used, is to set some static environment variables ideally in the `Dockerfile) (any value as long as they don’t change across restarts):

  • MORANGO_SYSTEM_ID
  • MORANGO_NODE_ID

Regards,
Blaine