Quick Start

To deploy GES with docker-compose on your server, you need:

  • Docker (and Docker Compose 2.0+).

  • Credentials for registry.gram.ax.

  • A license key.

Download

Download the files with: curl -o docker-compose.yaml https://gram.ax/enterprise-docker-compose.yaml -o .env https://gram.ax/enterprise.env.

Configuration

Before starting, set the following variables either via environment variables or in the .env file.

Main parameters

  • CLIENT_NAME — client login for Gramax Enterprise Server. Used for authentication in Docker Registry and when substituting values into configuration variables. Issued at purchase. Required. Example: gramax

  • GES_URL — URL where GES will be available. Required. Example: https://enterprise.gramax.local

  • AUTH_SERVICE_URL — URL where the auth service will be available. Example: https://ges.gram.ax/auth

  • DIAGRAM_RENDERER_SERVICE_URL — URL where the Diagram-renderer service will be available. Example: https://ges.gram.ax/diagram-renderer

  • ALLOWED_GRAMAX_URLS — URLs of Gramax instances (documentation portal, browser version, and GES), comma-separated. No trailing comma. Required. Example: https://some-instance.gram.ax,https://another-instance.gram.ax

  • LICENSE_KEY — license key for Gramax Enterprise Server. Issued at purchase. Required. Example: 765d562b9092eec3…

  • GIT_SERVER_TOKEN — access token for the Git server for reading/cloning repositories. Required. Example: glpat-...

  • GES_ADMIN_EMAILS — workspace owner emails, comma-separated. Written to config only on first startup. Required. Example: admin1@gramax.local,admin2@gramax.local

  • GIT_SERVER_URL — GitLab server address for external storage. Required. Example: https://gitlab.example.com

  • ENTERPRISE_STORAGE_TYPE — configuration storage type: gitlab or local. Required. Example: gitlab

  • ENTERPRISE_CONFIG_PATH — for ENTERPRISE_STORAGE_TYPE=local: path to the GES settings folder on the virtual machine. Required. Default: /app/config

  • GIT_PROJECT_PATH — for ENTERPRISE_STORAGE_TYPE=gitlab: path to the settings repository in GitLab, as group/repository-name. Must be created before initialization. Required. Example: dr/gramax-yaml-manager

  • GIT_PROJECT_BRANCH — branch of the GIT_PROJECT_PATH repository, if it differs from master. Default: master. Example: main

  • ENTERPRISE_SERVICE_ENCRYPTION_KEY — key for secure data transfer between services. Required. Example: 5caf59ed...cddb8489

  • COOKIE_SECRET — key for encrypting user secrets in cookies. Recommended: a 32-byte key (openssl rand -hex 32). Example: 397b6f3bf51a73b9...

  • WEB_EDITOR_URL — the web editor URL used by the desktop application to generate article links via «Share article».

Start

Container registry login

Before the first launch, authenticate in our image registry.

  1. On the deployment host, run:

    docker login registry.gram.ax
  2. Enter credentials:

    • Login: value of CLIENT_NAME

    • Password: token sent together with the license key

If credentials are correct, Docker returns a success message, for example: Login Succeeded

After setting environment variables, start GES with docker compose up -d.

Configuration files are created automatically on first start. Required parameters are taken from the .env file.

Update

To update GES, run docker compose up --pull=always.