My Kallithea with Docker

Warning: The kallithea docker image is based on my personal repository. It may contain experimental features.

This repository contains a Dockerfile for kallithea and an example docker-compose file for a more advanced setup.

Simple sqlite instance

To start a simple kallithea instance do the following. You don't even need to clone this repository.

  1. Install docker
  2. Run docker run -v kallithea_repos:/var/kallithea/repos -v kallithea_conf:/var/kallithea/conf --name mykallithea -p 5000:5000 domruf/kallithea -d
  3. (Run docker logs mykallithea to see the console output)

That's it. The configuration file and the initial database will automatically be generated if they don't already exist. You can now open http://localhost:5000 in your browser and log in with the user information you see in the console output. You can also find the login information in the password.txt file in the conf volume.

For details on using docker please read the docker documentation.

The docker image has 2 volumes /var/kallithea/conf and /var/kallithea/repos. The conf contains the kallithea.ini file where you can change the configuration. Usually it also contains the data directory and the sqlite kallithea.db database file if sqlite is used.

Full Stack instance with MySQL/PostgreSQL, ssh, celery and rabbitmq

To use MySQL, ssh, celery and rabbitmq you have to start a docker container for each service. The docker-compose file in this repository should work out of the box. So all you need to do is run docker-compose up -d. This will download all the images and start the services. When finished you can open the web interface at http://localhost:5000/ and the ssh deamon will run on port 2222. For details on using docker-compose please read the docker documentation.

Of course you should change the password and the email address of the initial admin account.

When you change the configuration of a service, remember to also change the kallithea.ini if necessary.