GitPedia

Docker jetbrains license server

JetBrains License Server Docker image

From crazy-max·Updated June 27, 2026·View on GitHub·
·Archived

Following JetBrains' announcement that the JetBrains License Server will be [discontinued and taken out of service on December 31, 2025](https://blog.jetbrains.com/blog/2024/10/25/ide-services-cloud-release-and-floating-license-server-end-of-life-announcements/), this image is no longer maintained. The project is written primarily in Dockerfile, distributed under the MIT License license, first published in 2018. It has gained significant community traction with 1,723 stars and 379 forks on GitHub. Key topics include: alpine-linux, docker, jetbrains, license-server.

Latest release: 39687-r1
December 25, 2024View Changelog →
<p align="center"><a href="https://github.com/crazy-max/docker-jetbrains-license-server" target="_blank"><img height="128" src="https://raw.githubusercontent.com/crazy-max/docker-jetbrains-license-server/master/.github/docker-jetbrains-license-server.jpg"></a></p> <p align="center"> <a href="https://hub.docker.com/r/crazymax/jetbrains-license-server/tags?page=1&ordering=last_updated"><img src="https://img.shields.io/github/v/tag/crazy-max/docker-jetbrains-license-server?label=version&style=flat-square" alt="Latest Version"></a> <a href="https://github.com/crazy-max/docker-jetbrains-license-server/actions?workflow=build"><img src="https://img.shields.io/github/actions/workflow/status/crazy-max/docker-jetbrains-license-server/build.yml?branch=master&?label=build&logo=github&style=flat-square" alt="Build Status"></a> <a href="https://hub.docker.com/r/crazymax/jetbrains-license-server/"><img src="https://img.shields.io/docker/stars/crazymax/jetbrains-license-server.svg?style=flat-square&logo=docker" alt="Docker Stars"></a> <a href="https://hub.docker.com/r/crazymax/jetbrains-license-server/"><img src="https://img.shields.io/docker/pulls/crazymax/jetbrains-license-server.svg?style=flat-square&logo=docker" alt="Docker Pulls"></a> <br /><a href="https://github.com/sponsors/crazy-max"><img src="https://img.shields.io/badge/sponsor-crazy--max-181717.svg?logo=github&style=flat-square" alt="Become a sponsor"></a> <a href="https://www.paypal.me/crazyws"><img src="https://img.shields.io/badge/donate-paypal-00457c.svg?logo=paypal&style=flat-square" alt="Donate Paypal"></a> </p>

⚠️ Discontinued

Following JetBrains' announcement that the JetBrains License Server will be
discontinued and taken out of service on December 31, 2025,
this image is no longer maintained.

You'll need to switch to a new license management method by this date. Learn more

About

JetBrains License Server
Docker image.

[!TIP]
Want to be notified of new releases? Check out 🔔 Diun (Docker Image Update Notifier)
project!


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 image to send emails
  • Traefik as reverse proxy and creation/renewal of Let's Encrypt certificates (see this template)

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

RegistryImage
Docker Hubcrazymax/jetbrains-license-server
GitHub Container Registryghcr.io/crazy-max/jetbrains-license-server

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 where license server will be available (comma delimited for several hosts)
  • JLS_CONTEXT: Context path used by the license server (default /)
  • JLS_PROXY_TYPE: Type of proxy 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 (default /data/access-config.json)
  • JLS_STATS_RECIPIENTS: Reports recipients email addresses for stats (comma delimited)
  • JLS_REPORT_OUT_OF_LICENSE: Warn about lack of licenses every hour following the percentage threshold (default 0)
  • JLS_SMTP_SERVER: SMTP server host to use for sending stats (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 for stats emails
  • JLS_STATS_TOKEN: Enables an auth token for the stats API 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

[!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 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
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.

Contributing

Want to contribute? Awesome! The most basic way to show your support is to star
the project, or to raise issues. You can also support this project by becoming a sponsor on GitHub
or by making a PayPal donation to ensure this
journey continues indefinitely!

Thanks again for your support, it is much appreciated! :pray:

License

MIT. See LICENSE for more details.

Contributors

Showing top 7 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from crazy-max/docker-jetbrains-license-server via the GitHub API.Last fetched: 6/28/2026