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 behttp
orhttps
(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 specifiedPUID
andPGID
. 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 -f
You 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:latest
Recreate the container whenever I push an update:
docker-compose pull
docker-compose up -d
If 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.