The Simplest Way to Manage Your Entire Dev Infrastructure!
Go CoffeeScript JavaScript CSS Shell HTML Other
Latest commit 2443f1c Jan 19, 2017 @rjeczalik rjeczalik committed on GitHub Merge pull request #10306 from koding/machine_mount_client_supervised
kd/machine: Add supervised client.
Failed to load latest commit information.
.ebextensions Execute `npm` with absolute path Jan 15, 2017
.github Create Aug 3, 2016
.logs Empty .logs directory Jul 20, 2015
.supervisor Empty .supervisor directory Jul 20, 2015
client Merge pull request #10354 from koding/uuid Jan 19, 2017
config Fix spacing of curly braces Jan 16, 2017
deployment Merge pull request #10323 from koding/source-default Jan 17, 2017
docker/singular docker: update singular docker inject file Nov 22, 2016
docs Merge pull request #10286 from kwagdy/master Jan 18, 2017
docs_old docs: old docs moved to a new folder Oct 8, 2016
elektron Define objects explicitly Jan 16, 2017
go Merge pull request #10306 from koding/machine_mount_client_supervised Jan 19, 2017
install install: remove docker sync script Oct 12, 2016
node_modules_koding Delete unexpected block comment Jan 16, 2017
patches Merge branch 'master' of into papertrail Jan 7, 2016
scripts Merge pull request #10354 from koding/uuid Jan 19, 2017
servers Replace deprecated node-uuid module with uuid Jan 18, 2017
tests/spec/rainforest rainforest: collaboration_switch_vms add embedded data info Jan 5, 2017
versions Versions: remove extra char from versions Jun 23, 2015
website Templates: update default field structure for templates Jan 18, 2017
workers Merge pull request #10354 from koding/uuid Jan 19, 2017
.coffeelintignore Ignore docs directory Jan 14, 2017
.dockerignore Add generated path to .dockerignore Jun 28, 2016
.env-docker-compose Fix environment variable assignment syntax Aug 23, 2016
.gitattributes remove all invalid lines and add go vendor folder Oct 13, 2016
.gitignore client: ignore happypack cache folder Dec 21, 2016
.gitmodules client: jekyll: about: minor typo Oct 27, 2016
.koding.yml .koding.yml added for running koding on Jul 27, 2016 npm hook scripts Mar 18, 2016 Register node modules installation timestamp Mar 18, 2016 npm hook scripts Mar 18, 2016
.wercker wercker: add .wercker file Jul 25, 2014
Brewfile Add Brewfile Oct 18, 2014
CNAME Create CNAME Oct 14, 2016 MD: add initial contributing doc Aug 29, 2016
Dockerfile Set version option to `master` Oct 31, 2016
LICENSE Update LICENSE details Jul 27, 2016
Makefile Makefile: disable all for makefile in root folder Aug 12, 2015
README.development.markdown README.development: update coffee-script version Jan 10, 2017
README.gitlab.markdown README.gitlab: Update readme Aug 19, 2016
README.kdonkd.markdown change page titles Nov 19, 2016
README.lp.markdown TMS-2257: add readme for local provisioning Feb 5, 2016
README.markdown Add docker-compose environment initialization command Oct 25, 2016
README.nodejs-testing.markdown Merge branch 'master' of into moderation-usa… Oct 7, 2015
README.outsourcingworkflow.markdown update workflow diagram Oct 20, 2016
README.react-components.markdown Client: Activity: spelling. Feb 6, 2016
README.softlayer.markdown TMS-2313 softlayer: add readme Feb 19, 2016
README.supervisor.markdown readme: remove invalid data Dec 29, 2016
Vagrantfile kontrol: new configuration, add multiconfig Aug 15, 2014
cleanup cleanup: remove go/bin as well Nov 22, 2016
codecov.yml Update codecov.yml Jan 12, 2017
coffeelint.json CoffeLint: revert warn change, allow duplicates on JGroup Dec 7, 2016
configure config: set default publicPort if not specified Nov 29, 2016
docker-compose-init.yml Add docker-compose-init configuration Oct 20, 2016
docker-compose.yml Add mongod option --smallfiles Dec 10, 2016
icon.png Rollback Sep 23, 2013
package.json Replace deprecated node-uuid module with uuid Jan 18, 2017
watch-node Bongo: loadConstructors becomes loadModels with caching feature Nov 7, 2016
wercker.yml Run coffeelint in the code base Jan 17, 2017



Slack Status Docker Pulls

The Simplest Way to Manage Your Entire Dev Infrastructure!

Koding is a development platform that orchestrates your dev environment. Developers get everything they need to spin up full-stack, project-specific environments in seconds. Share them, update them, and manage infrastructure from a simple interface.

You can try Koding now on

Quick Start with Docker-Compose

Easiest way to run Koding is to install docker-compose which can be found here. For the rest you can follow these steps:

git clone koding-docker-compose
cd koding-docker-compose
# Requires docker-compose version >= 1.6
docker-compose up -d

Now you are able to access Koding via port 8090 (e.g. localhost:8090) on your host.

Run Koding on

Yes, you can run koding on by using the provided .koding.yml

For more information about stacks:

Getting started for Development

You need to install following software packages to run Koding:

Start developing

You are now ready to run Koding.

git clone
cd koding
docker-compose -f docker-compose-init.yml run init
docker-compose up

If you don't have a powerful computer, this may take a while at first, slow computers may take up to 15 minutes before they build the entire system. Please be patient. Once it is up and running, everything will be smooth and very fast.

Now you can navigate to http://localhost:8090 to see your local Koding instance. Enjoy! (If you don't see it, keep waiting, it will show up)

When you edit files on your host computer, they will be visible in the runtime environment. Watchers will automatically restart backend workers, re-compile frontend code. You don't need to do anything for it.


If you need to execute some commands in runtime environment, here is how you can start a shell in backend service container:

docker-compose exec backend bash

You can follow coffeescript-styleguide that we are relying on.

Running Koding on Local Machine

This is if you don't want to do docker-compose way and install everything locally, (not recommended).

Software Prerequisites

Start developing

Follow these steps for running the instance:

git clone /your/koding/path
cd /your/koding/path
node -v # make sure your node version is not greater than `0.10.x`
npm -v # make sure your npm version is 2.15.x
coffee -v # make sure your coffeeScript version must be 1.8
npm install

You should have packages ready for running build specific scripts.

./configure # create necessary config files
./run install # start to install dependencies
./run buildservices # build the services
./run # run all services

As a result, you will have a file watcher watching your backend files (both node, and golang) and restart services when it's necessary. Now open up another terminal and run following commands:

cd /your/koding/path
cd client # move into frontend client folder
npm install # install client dependencies
make # this will run a client watcher for you

Right now you should have 2 different watchers for (1) your backend files, (2)for your frontend client files. Now you can navigate to to see your local Koding instance. Enjoy!


Koding is licensed under Apache 2.0.


The main purpose of this repository to continue evolve Koding in order to make it more stable and create the best development experience ever. If you're interested in helping with that, please check our open issues. You can also join the conversation in our slack team!