JetBrains Space Help

Proof-of-Concept Installation

The main purpose of the proof-of-concept installation is to get acquainted with Space On-Premises configuration before installing Space to a production environment. It implies that you use Docker Compose to install Space On-Premises components to a number of Docker containers.

Installation requirements

  • Host-machine platform: x86_64/amd64 or arm64.

  • Recommended host machine resources: 8 CPU cores, 12 GB memory.

  • Docker and Docker Compose 1.29.0 or later are installed on the host machine.

Perform proof-of-concept installation of Space On-Premises

  1. Create and open an installation directory:

    mkdir -p space-on-premises && cd space-on-premises
  2. Download the latest version of the docker-compose.yml file from https://assets.on-premises.service.jetbrains.space/. For example, if the latest version is 2022.1.0-BETA:

    export SPACE_RELEASE_NAME="2022.1.0-BETA" curl -O "https://assets.on-premises.service.jetbrains.space/${SPACE_RELEASE_NAME}/docker-compose.yml"
  3. Deploy the Docker Compose configuration:

    docker-compose -p space-on-premises up -d
  4. Wait until the deployment is completed and make sure that all Space containers are up and running:

    docker ps
  5. Open your Space On-Premises instance in a browser. The default URL is http://127.0.0.1:8084. The default administrator username is admin, the password is admin.

    Space components are accessible on the following URLs:

    • http://127.0.0.1:8084: Space user interface.

    • http://127.0.0.1:8080: VCS API.

    • ssh://127.0.0.1:2222: VCS SSH.

    • http://127.0.0.1:8390: Packages API.

  6. Perform post-installation administration activities:

  7. Once you no longer need your Space proof-of-concept installation, clean up the context:

    docker-compose -p space-on-premises down -v docker-compose -p space-on-premises rm -f

Customize your proof-of-concept installation

The proof-of-concept installation of Space On-Premises comes with a predefined configuration that doesn't require any changes. Nevertheless, if required, you can customize it according to your needs. It is possible to:

Customize Space service configuration

  1. Stop your Space instance if it is running:

    docker-compose -p space-on-premises down -v docker-compose -p space-on-premises rm -f
  2. Open the docker-compose.yml file located in the Space installation directory.

  3. Change the default location of the Space configuration files. To do this, edit the docker-compose.yml file:

    • Comment out the config:{} line:

      ... # config:{} ...
    • Change every reference to the docker volume configuration from config to ./config. Namely, from:

      ... volumes: - config:/home/init-config/config ... volumes: - config:/home/space/circlet-server-onprem/config ... volumes: - config:/home/space/git/vcs-hosting/config ... volumes: - config:/home/space/packages-server/config ... volumes: - config:/home/space/langservice-server/config ...

      to:

      ... volumes: - ./config:/home/init-config/config ... volumes: - ./config:/home/space/circlet-server-onprem/config ... volumes: - ./config:/home/space/git/vcs-hosting/config ... volumes: - ./config:/home/space/packages-server/config ... volumes: - ./config:/home/space/langservice-server/config ...
  4. Run:

    docker-compose up init-configs

    After this, the following configuration files will appear in the {Space-install-folder/config} folder:

    • langservice.on-premises.conf

    • packages.on-premises.conf

    • space.on-premises.conf

    • vcs.on-premises.properties

  5. Edit the configuration files according to your needs.

  6. Start Space On-Premises with the updated configuration:

    docker-compose up -d

Enable mail server

The proof-of-concept installation comes without a preconfigured mail server. This means that Space won't be able to send any emails like user invitations, chat notifications, and so on. If required, you can enable the mail server for your installation. In the instructions below we'll use the MailHog service.

  1. Make your Space installation available for customization as described above.

  2. Stop your Space instance if it is running.

  3. Open the Space installation directory.

  4. In the docker-compose.yml file, add the mail server configuration:

    services: mailhog: image: mailhog/mailhog ports: - 1025:1025 # SMTP server port - 8025:8025 # UI port networks: - "frontend"
  5. Open the space.on-premises.conf file and modify the mail configuration according to your requirements:

    mail { outgoing { enabled = true // protocol settings fromAddress = "space@space.example.com" host = "mailhog" port = 1025 protocol = "SMTP" // "SSL" and "TLS" are also supported login = "space" password = "space" messageQueuePrefix = "mailQueue" // handling properties aggregationDelaySecs = 900 rateLimitPerSecond = 3 } }
  6. Start Space On-Premises with the updated configuration:

    docker-compose up -d

Change Space base URLs

By default, Space proof-of-concept installation uses 127.0.0.1 and localhost as the base URLs. This configuration works well only if you run Space locally. If you want to run Space on a separate machine and make it available in your network, you must modify the base URLs.

  1. Make your Space installation available for customization as described above.

  2. Stop your Space instance if it is running.

  3. Open the Space installation directory.

  4. In the space.on-premises.conf file, modify url and altUrls for all services. For example:

    frontend { url = "http://1.2.3.4:8084" internalUrl = "http://space:9084" altUrls = [ "http://127.0.0.1:8084", "http://localhost:8084", "http://1.2.3.4:8084" ] }
  5. In the packages.on-premises.conf file, modify url and altUrls for all services. For example:

    space { url = "http://1.2.3.4:8084" internalUrl = "http://space:9084" }
  6. In the vcs.on-premises.properties file, modify base.url and circlet.url.ext parameters. For example:

    base.url=http://1.2.3.4:8080 circlet.url.ext=http://1.2.3.4:8084
  7. Start Space On-Premises with the updated configuration:

    docker-compose up -d
Last modified: 25 November 2022