DeepCode Server is the self-managed product of DeepCode. It allows you to integrate with your on-premise code hosting platform (e.g. GitLab or Bitbucket). DeepCode Server relies on Docker to provide a machine-independent and easy setup process.

If you don't own a DeepCode Server yet, request one now!

System requirements

  • Linux, CentOS, BSD or MacOS server with 2 CPU cores, 16GB RAM and 16GB of hard disk space. Note that it is okay to run other software like your code hosting platform on the same machine.
  • Docker 1.13.1 or above (versions below may also work).
  • The machine on which you are running DeepCode Server must be able to connect to your code hosting platform.
  • Available port. By default, DeepCode container will need only one port 8080 (it can be customized).

We provide the DeepCode container as a compressed image (tar-ball). After loading and running, it will execute a Docker Compose which results in a private bridge network (called deepcode_default) and several different spawned service containers: Website, API, Bundle, and Suggestion as well a Redis and a MySQL instance. All containers are bound to the private bridge network and only port 8080 of the Website container is exposed to the external world. This can be redirected to any other port and specific IP address if needed. The container named DeepCode is for startup purposes only.

Refer to the network diagram for details:


Upon receiving the proprietary file, run this command to load docker image:

  docker load -i ARCHIVE_FILE_NAME.tar.gz



To keep the configuration and keys, we suggest to generate a directory (in our example it will be /srv/deepcode) and to use the explicit path from thereon. If you are using Kubernetes or similar environments, you might want to use config maps:

  mkdir -p /srv/deepcode && cd /srv/deepcode


Platform-specific steps

Gitlab: prepare required configuration

BitBucket Server: prepare required configuration


Getting help

If you encounter problems at any point during the setup please don't hesitate to ask for help at