# docker-jetbrains-license-server **Repository Path**: narlian/docker-jetbrains-license-server ## Basic Information - **Project Name**: docker-jetbrains-license-server - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-02-19 - **Last Updated**: 2023-12-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Latest Version Build Status Docker Stars Docker Pulls
Become a sponsor Donate Paypal

## About [JetBrains License Server](https://www.jetbrains.com/help/license_server/getting_started.html) Docker image based on AdoptOpenJDK.
If you are interested, [check out](https://hub.docker.com/r/crazymax/) my other Docker images! 💡 Want to be notified of new releases? Check out 🔔 [Diun (Docker Image Update Notifier)](https://github.com/crazy-max/diun) project! ___ * [Features](#features) * [Build locally](#build-locally) * [Image](#image) * [Environment variables](#environment-variables) * [Volumes](#volumes) * [Ports](#ports) * [Usage](#usage) * [Docker Compose](#docker-compose) * [Command line](#command-line) * [Upgrade](#upgrade) * [Notes](#notes) * [Error 403 Passed value of header "Host" is not allowed](#error-403-passed-value-of-header-host-is-not-allowed) * [How can I help?](#how-can-i-help) * [License](#license) ## Features * Run as non-root user * Multi-platform image * License server completely customizable via environment variables * Registration data and configuration in a single directory * [msmtpd SMTP relay](https://github.com/crazy-max/docker-msmtpd) image to send emails * [Traefik](https://github.com/containous/traefik-library-image) as reverse proxy and creation/renewal of Let's Encrypt certificates (see [this template](examples/traefik)) ## Build locally ```shell git clone https://github.com/crazy-max/docker-jetbrains-license-server.git cd docker-jetbrains-license-server # Build image and output to docker (default) docker buildx bake # Build multi-platform image docker buildx bake image-all ``` ## Image | Registry | Image | |--------------------------------------------------------------------------------------------------|---------------------------------| | [Docker Hub](https://hub.docker.com/r/crazymax/jetbrains-license-server/) | `crazymax/jetbrains-license-server` | | [GitHub Container Registry](https://github.com/users/crazy-max/packages/container/package/jetbrains-license-server) | `ghcr.io/crazy-max/jetbrains-license-server` | Following platforms for this image are available: ``` $ docker run --rm mplatform/mquery crazymax/jetbrains-license-server:latest Image: crazymax/jetbrains-license-server:latest * Manifest List: Yes * Supported platforms: - linux/amd64 - linux/arm64 - linux/ppc64le - linux/s390x ``` ## Environment variables * `TZ`: The timezone assigned to the container (default `UTC`) * `PUID`: JLS UID (default `1000`) * `PGID`: JLS GID (default `1000`) * `JLS_VIRTUAL_HOSTS`: [Virtual hosts](https://www.jetbrains.com/help/license_server/setting_host_and_port.html#d1010e63) where license server will be available (comma delimited for several hosts) * `JLS_CONTEXT`: [Context path](https://www.jetbrains.com/help/license_server/setting_host_and_port.html#d1010e63) used by the license server (default `/`) * `JLS_PROXY_TYPE`: Type of [proxy](https://www.jetbrains.com/help/license_server/configuring_proxy_settings.html) to use. Can be `http` or `https` (default `https`) * `JLS_PROXY_HOST`: The host name of your proxy server * `JLS_PROXY_PORT`: The port number that the proxy server listens to * `JLS_PROXY_USER`: Username to connect to the proxy server (no auth if empty) * `JLS_PROXY_PASSWORD`: Password to connect to the proxy server (no auth if empty) * `JLS_ACCESS_CONFIG`: JSON file to configure [user restrictions](https://www.jetbrains.com/help/license_server/configuring_user_restrictions.html) (default `/data/access-config.json`) * `JLS_STATS_RECIPIENTS`: [Reports recipients](https://www.jetbrains.com/help/license_server/detailed_server_usage_statistics.html#d461e40) email addresses for stats (comma delimited) * `JLS_REPORT_OUT_OF_LICENSE`: [Warn about lack of licenses](https://www.jetbrains.com/help/license_server/detailed_server_usage_statistics.html#d461e40) every hour following the percentage threshold (default `0`) * `JLS_SMTP_SERVER`: SMTP server host to use for sending [stats](https://www.jetbrains.com/help/license_server/detailed_server_usage_statistics.html) (stats disabled if empty) * `JLS_SMTP_PORT`: SMTP server port (default `25`) * `JLS_SMTP_USERNAME`: SMTP username (auth disabled if empty) * `JLS_SMTP_PASSWORD`: SMTP password (auth disabled if empty) * `JLS_STATS_FROM`: [From address](https://www.jetbrains.com/help/license_server/detailed_server_usage_statistics.html#d461e40) for stats emails * `JLS_STATS_TOKEN`: Enables an auth token for the [stats API](https://www.jetbrains.com/help/license_server/detailed_server_usage_statistics.html#d461e312) at `/reportApi` (HTTP POST) * `JLS_SERVICE_LOGLEVEL`: Logging of IDE requests and responses (default `warn`) * `JLS_REPORTING_LOGLEVEL`: Logging of actions on a server: tickets obtaining and revoking with user and license information (default `warn`) * `JLS_TICKETS_LOGLEVEL`: Logging of actions with tickets. For example, manual ticket revoking (default `warn`) ## Volumes * `/data`: Contains [registration data](https://www.jetbrains.com/help/license_server/migrate.html) and configuration > :warning: Note that the volumes should be owned by the user/group with the specified `PUID` and `PGID`. If you don't give the volume correct permissions, the container may not start. ## Ports * `8000`: Jetbrains License Server HTTP port ## Usage ### Docker Compose Docker compose is the recommended way to run this image. Copy the content of folder [examples/compose](examples/compose) in `/var/jls/` on your host for example. Edit the compose and env files with your preferences and run the following commands: ```bash docker-compose up -d docker-compose logs -f ``` ### Command line You can also use the following minimal command: ```bash $ docker run -d -p 8000:8000 --name jetbrains_license_server \ -e TZ="Europe/Paris" \ -e JLS_VIRTUAL_HOSTS=jls.example.com \ -v $(pwd)/data:/data \ crazymax/jetbrains-license-server:latest ``` ## Upgrade Recreate the container whenever I push an update: ```bash docker-compose pull docker-compose up -d ``` ## Notes If you have any trouble using the license server, check the official [Troubleshooting page](https://www.jetbrains.com/help/license_server/troubleshooting.html) of Jetbrains. ### Error 403 Passed value of header "Host" is not allowed If you've got the following message : ``` Passed value of header "Host" is not allowed. Please contact your license server administrator. ``` That's because the license server is running behind a reverse proxy. Please configure virtual hosts using the `JLS_VIRTUAL_HOSTS` variable. ## How can I help? All kinds of contributions are welcome :raised_hands:! The most basic way to show your support is to star :star2: the project, or to raise issues :speech_balloon: You can also support this project by [**becoming a sponsor on GitHub**](https://github.com/sponsors/crazy-max) :clap: or by making a [Paypal donation](https://www.paypal.me/crazyws) to ensure this journey continues indefinitely! :rocket: Thanks again for your support, it is much appreciated! :pray: ## License MIT. See `LICENSE` for more details.