Deploy on Your Own Server

You can deploy the Documentation Portal for readers on your own server using the Gramax Docker image. Deployment in Docker is supported from version 20.10.

If you don’t have your own server, you can also deploy the reader portal in Yandex Cloud.

Deploy with Podman

If you are deploying the portal using Podman:

  1. Create a folder where all catalogs will be located. You can do this at the path specified in the ROOT_PATH environment variable. If you haven't specified it, create a folder named gramax next to the docker-compose file.

  2. Replace docker with podman in all commands.

Starting Up

  1. Download the ready-made file using the command curl -Lo docker-compose.yaml https://gram.ax/docportal-docker-compose.yaml.

  2. Set environment variables:

    1. ROOT_PATH — path to the folder where catalogs will be cloned. If not specified, a folder named gramax will be created.

    2. ADMIN_LOGIN — administrator login. If not specified, admin is used.

    3. ADMIN_PASSWORD — administrator password. If not specified, password is used.

    4. PORT — application port. If not specified, port 80 is used.

    5. DEFAULT_UI_LANGUAGE — overrides the default UI language. Available values: ru, en. If not specified, the preferred language is used.

    6. COOKIE_SECRET — key for encrypting user secrets in cookies. If not specified, . is used, but it is recommended to replace it with a 32-byte key (can be generated using openssl rand -hex 32).

    7. DOCPORTAL_FEATURES — enables experimental features, listed as a comma‑separated string. Example: DOCPORTAL_FEATURES=filtered-catalog,export-pdf

Container Management

  • Start container: docker compose up -d. Option -d is used for start the container in background.

  • Stop container: docker compose down.

  • To update: stop the container and run docker compose pull && docker compose up -d.

  • See logs: docker logs -ftn 1000 gramax. The command will show last 1000 lines of logs. For help with parameters, use docker logs -h, or refer to the Docker / Podman documentation.