/docker-jetbrains-license-server

🐳 JetBrains License Server image based on Alpine Linux

Primary LanguageDockerfileMIT LicenseMIT

Version Build Status Docker Stars Docker Pulls Docker Repository on Quay Code Quality Donate Paypal

About

🐳 JetBrains License Server Docker image based on Alpine Linux.
If you are interested, check out my other 🐳 Docker images!

Features

Included

  • License server completely customizable via environment variables
  • Registration data and configuration in a single directory

From docker-compose

  • Traefik as reverse proxy and creation/renewal of Let's Encrypt certificates

Docker

Environment variables

  • TZ : The timezone assigned to the container (default UTC)
  • 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_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)

Volumes

Ports

  • 8000 : Jetbrains License Server HTTP port

Use this image

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 :

touch acme.json
chmod 600 acme.json
docker-compose up -d
docker-compose logs -f

Command line

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=jetbrains-license-server.example.com \
  -v $(pwd)/data:/data \
  crazymax/jetbrains-license-server:latest

Update

Recreate the container whenever i push an update :

docker-compose pull
docker-compose up -d

Troubleshooting

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.

How can I help ?

All kinds of contributions are welcome 🙌!
The most basic way to show your support is to star 🌟 the project, or to raise issues 💬
But we're not gonna lie to each other, I'd rather you buy me a beer or two 🍻!

Paypal

License

MIT. See LICENSE for more details.