Go CoffeeScript JavaScript CSS Shell HTML Other
Latest commit 2266d1b Aug 6, 2018
Failed to load latest commit information.
.circleci circleci config: test command for config added Oct 25, 2017
.ebextensions Run nginx as a worker Jun 30, 2017
.github Create PULL_REQUEST_TEMPLATE.md Aug 3, 2016
.logs Empty .logs directory Jul 20, 2015
.supervisor Empty .supervisor directory Jul 20, 2015
client NSE: remove Safari workaround since the issue fixed on upstream Oct 25, 2017
config Merge pull request #11466 from mertaytore/inherit-options Oct 25, 2017
deployment deployment: add oud.cc domain Oct 30, 2017
docker/singular Replace version substitution to --short option Feb 22, 2017
docs landing: board members added to about Aug 3, 2018
docs_old docs: old docs moved to a new folder Oct 8, 2016
elektron Package.json: fix electron-packager version Mar 30, 2017
go go/vendor: update golang.org/x/... repo Nov 24, 2017
install install: remove docker sync script Oct 12, 2016
node_modules_koding Remove Pistachio custom node_module Aug 1, 2017
patches Pistachio: update node_modules with latest stable versions Jan 20, 2017
scripts Merge pull request #11419 from mertaytore/container-per-worker Oct 23, 2017
servers StackScript Search to use POST instead of GET May 10, 2017
tests/specs change test file extensions Jun 6, 2017
versions Versions: remove extra char from versions Jun 23, 2015
website Swagger: update swagger definition for JStackTemplate.preview May 1, 2017
workers xss fix styling Jul 20, 2017
.braveqa change test file extensions Jun 6, 2017
.coffeelintignore Remove pistachio loader/compiler requirement by using latest kd.js Aug 10, 2017
.dockerignore Add generated path to .dockerignore Jun 28, 2016
.env-docker-compose Fix environment variable assignment syntax Aug 23, 2016
.env-kubernetes .env-kubernetes: variables for configuration added Oct 5, 2017
.gitattributes remove all invalid lines and add go vendor folder Oct 13, 2016
.gitignore gitignore: autogenerated yaml pod definitions added Oct 5, 2017
.gitmodules client: jekyll: about: minor typo Oct 27, 2016
.koding.yml .koding.yml added for running koding on koding.com Jul 27, 2016
.npm-install.sh Use `npm install` instead of scripts/install-npm.sh script Jan 20, 2017
.npm-postinstall.sh Npm: npm5 updates linked modules so we're removing links on preinstall Aug 2, 2017
.npm-preinstall.sh Npm: npm5 updates linked modules so we're removing links on preinstall Aug 2, 2017
.nvmrc build: put .nvmrc to root Jan 20, 2017
Brewfile config: retire boot2docker Oct 6, 2017
CNAME Create CNAME Oct 14, 2016
CONTRIBUTING.md MD: add initial contributing doc Aug 29, 2016
Dockerfile Set version option to `master` Oct 31, 2016
LICENSE license: switch to AGPL for koding/koding & link to koding-ce/koding Jan 26, 2017
Makefile Define klient task May 23, 2017
README.development.markdown config: retire boot2docker Oct 6, 2017
README.gitlab.markdown README.gitlab: Update readme Aug 19, 2016
README.kdonkd.markdown config: retire boot2docker Oct 6, 2017
README.lp.markdown TMS-2257: add readme for local provisioning Feb 5, 2016
README.markdown Add Circle CI status badge Jun 22, 2017
README.nodejs-testing.markdown Merge branch 'master' of github.com:koding/koding 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 codeconv: decrease precision to 1 Mar 17, 2017
coffeelint.json CoffeLint: revert warn change, allow duplicates on JGroup Dec 7, 2016
configure Merge pull request #11419 from mertaytore/container-per-worker Oct 23, 2017
docker-compose-init.yml Add docker-compose-init configuration Oct 20, 2016
docker-compose.yml scripts: upgarde to mongo 3.2.8 Feb 14, 2017
icon.png Rollback Sep 23, 2013
package.json Packages: update appmetrics to 3.0.2 to support node 8.x Aug 2, 2017
watch-node Use find -newerXY option to find files modified in last 2 seconds Nov 20, 2017
wercker.yml Read Datadog API key from KONFIG object environment variable Mar 17, 2017



CircleCI 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 koding.com

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 https://github.com/koding/docker-compose.git 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 Koding.com

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

For more information about stacks: koding.com/docs

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 https://github.com/koding/koding.git
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 https://github.com/koding/koding.git /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!


This repository is licensed under GNU AGPL V3 Koding Community Edition 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!