JetBrains License Server Docker image based on AdoptOpenJDK.
If you are interested, check out my other Docker images!
💡 Want to be notified of new releases? Check out 🔔 Diun (Docker Image Update Notifier) project!
- 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)
| Registry | Image |
|---|---|
| Docker Hub | crazymax/jetbrains-license-server |
| GitHub Container Registry | 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
TZ: The timezone assigned to the container (defaultUTC)PUID: JLS UID (default1000)PGID: JLS GID (default1000)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 behttporhttps(defaulthttps)JLS_PROXY_HOST: The host name of your proxy serverJLS_PROXY_PORT: The port number that the proxy server listens toJLS_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 (default0)JLS_SMTP_SERVER: SMTP server host to use for sending stats (stats disabled if empty)JLS_SMTP_PORT: SMTP server port (default25)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 emailsJLS_STATS_TOKEN: Enables an auth token for the stats API at/reportApi(HTTP POST)JLS_SERVICE_LOGLEVEL: Logging of IDE requests and responses (defaultwarn)JLS_REPORTING_LOGLEVEL: Logging of actions on a server: tickets obtaining and revoking with user and license information (defaultwarn)JLS_TICKETS_LOGLEVEL: Logging of actions with tickets. For example, manual ticket revoking (defaultwarn)
/data: Contains registration data and configuration
⚠️ Note that the volumes should be owned by the user/group with the specifiedPUIDandPGID. If you don't give the volume correct permissions, the container may not start.
8000: Jetbrains License Server HTTP port
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:
docker-compose up -d
docker-compose logs -fYou can also use the following minimal command:
$ 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:latestRecreate the container whenever I push an update:
docker-compose pull
docker-compose up -dIf you have any trouble using the license server, check the official Troubleshooting page of Jetbrains.
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.
All kinds of contributions are welcome 🙌! 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! 🙏
MIT. See LICENSE for more details.
