All Projects → crazy-max → docker-ejtserver

crazy-max / docker-ejtserver

Licence: MIT license
EJT License Server Docker image

Programming Languages

Dockerfile
14818 projects
HCL
1544 projects

Projects that are alternatives of or similar to docker-ejtserver

Pieman
Script for creating custom OS images for single-board computers
Stars: ✭ 149 (+727.78%)
Mutual labels:  alpine-linux
python3-alpine-flask-docker
Sample Docker container for a Python 3 Flask based application with minimal footprint.
Stars: ✭ 23 (+27.78%)
Mutual labels:  alpine-linux
apostilas
Apostilas sobre diversos assuntos: PHP, PDO, MySQL, PHPOO, MVC, mobile, scratch, git, github, docker, vps, alpine linux, segurança na wev, servidores, etc
Stars: ✭ 49 (+172.22%)
Mutual labels:  alpine-linux
Alpinewsl
Alpine Linux based WSL distribution. Supports multi-install. Lightest WSL distribution.
Stars: ✭ 203 (+1027.78%)
Mutual labels:  alpine-linux
Alpine Vim
"dockerized" Vim
Stars: ✭ 242 (+1244.44%)
Mutual labels:  alpine-linux
alpine-qbittorrent-openvpn
qBittorrent docker container with OpenVPN client running as unprivileged user on alpine linux
Stars: ✭ 230 (+1177.78%)
Mutual labels:  alpine-linux
Alpine Make Vm Image
Make customized Alpine Linux disk image for virtual machines
Stars: ✭ 145 (+705.56%)
Mutual labels:  alpine-linux
docker-lemp
A single container LEMP complete fullstack with latest release of PHP7.4.33, 8.0.26 & 8.1.13/8.2RC and MySQL, nginx, PostgreSQL, phalcon, swoole, mailcatcher, beanstalkd, elasticsearch, memcached, redis, adminer and all you ever need; on top alpine3.15
Stars: ✭ 106 (+488.89%)
Mutual labels:  alpine-linux
docker-nextcloud
Nextcloud Docker image
Stars: ✭ 209 (+1061.11%)
Mutual labels:  alpine-linux
Attack-Shell
Attack Shell a.k.a. Ani-Shell is a simple PHP shell with some unique features like Mass Mailer, a simple Web-Server Fuzzer, Dosser, Back Connect, Bind Shell, Back Connect, Auto Rooter etc.
Stars: ✭ 15 (-16.67%)
Mutual labels:  alpine-linux
Alpine Ikev2 Vpn
Small Simple Free runing container's IKEv2 VPN base alpine image.
Stars: ✭ 215 (+1094.44%)
Mutual labels:  alpine-linux
Termuxalpine
Use TermuxAlpine.sh calling to install Alpine Linux in Termux on Android. This setup script will attempt to set Alpine Linux up in your Termux environment.
Stars: ✭ 224 (+1144.44%)
Mutual labels:  alpine-linux
docker-node-ci
The Docker image based on the official "node" image optimized for a CI environment
Stars: ✭ 18 (+0%)
Mutual labels:  alpine-linux
Image Bootstrap
⛅️ Creates (chroots and) bootable virtual machine images; command line tool (Python 3)
Stars: ✭ 178 (+888.89%)
Mutual labels:  alpine-linux
docker-dns-ad-blocker
A lightweight dnsmasq DNS server to block traffic to known ad servers with optional DNSCrypt support. Supports x86_64 and Raspberry Pi (armhf).
Stars: ✭ 78 (+333.33%)
Mutual labels:  alpine-linux
Docker Wordpress
WordPress container with Nginx 1.16 & PHP-FPM 7.3 based on Alpine Linux
Stars: ✭ 148 (+722.22%)
Mutual labels:  alpine-linux
http-server
A Java HTTP server in 35MB Docker image
Stars: ✭ 17 (-5.56%)
Mutual labels:  alpine-linux
netty-tcnative-alpine
Build netty-tcnative native binaries for Alpine Linux.
Stars: ✭ 20 (+11.11%)
Mutual labels:  alpine-linux
code-server
Non-root Docker image running Debian and code-server.
Stars: ✭ 76 (+322.22%)
Mutual labels:  alpine-linux
docker-firefox-syncserver
Firefox Sync Server Docker image
Stars: ✭ 169 (+838.89%)
Mutual labels:  alpine-linux

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

About

EJT 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!


Features

  • Run as non-root user
  • Multi-platform image
  • License server customizable via environment variables
  • Persistence of configuration in a single directory
  • A custom base url can be provided to download the ejtserver tarball

Build locally

git clone https://github.com/crazy-max/docker-ejtserver.git
cd docker-ejtserver

# Build image and output to docker (default)
docker buildx bake

# Build multi-platform image
docker buildx bake image-all

Image

Registry Image
Docker Hub crazymax/ejtserver
GitHub Container Registry ghcr.io/crazy-max/ejtserver

Following platforms for this image are available:

$ docker run --rm mplatform/mquery crazymax/ejtserver:latest
Image: crazymax/ejtserver: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: EJT user id (default 1000)
  • PGID: EJT group id (default 1000)
  • EJT_ACCOUNT_USERNAME: Username of your EJT account to download the license server. Can be empty if you use a custom base url to download the ejtserver tarball without HTTP authentication
  • EJT_ACCOUNT_PASSWORD: Password linked to the username
  • EJTSERVER_VERSION: EJT License Server version to install. See the official changelog for a curated list. (default 1.16.2)
  • EJTSERVER_DOWNLOAD_BASEURL: Base url where EJT License Server unix tarball can be downloaded (default https://licenseserver.ej-technologies.com)
  • EJTSERVER_LICENSES: Your floating licenses (comma delimited)
  • EJTSERVER_DISPLAY_HOSTNAMES: If you want to see host names instead of IP addresses (default false)
  • EJTSERVER_LOG_LEVEL: Log4J log level of the EJT License Server (default INFO)

💡 EJT_ACCOUNT_USERNAME_FILE, EJT_ACCOUNT_PASSWORD_FILE and EJTSERVER_LICENSES_FILE can be used to fill in the value from a file, especially for Docker's secrets feature.

Volumes

  • /data: Contains configuration and the downloaded EJT License Server unix tarball

In this folder you will find those files:

  • ejtserver_unix_*.tar.gz: The downloaded EJT License Server unix tarball
  • ip.txt: If you would like to allow only certain IP addresses, enter one IP address per line. If no IP addresses are entered, all IP addresses will be allowed. You can specify IP masks, such as 192.168.2.*
  • users.txt: If you would like to allow only certain user names, please enter one user name per line. If no user names are entered, all user names will be allowed

⚠️ 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

  • 11862: License server port

Commands

You also have access to these commands from the container:

  • ejtserver: This is the license server the daemon launch script. Commands available: start|stop|run|run-redirect|status|restart|force-reload.
  • admin: Admin tool command line based of ejtserver. It allows you to list all active connections and to terminate selected connections. In addition, you can check out a temporary license for use in environments that have no access to the floating license server

Usage:

docker-compose exec ejtserver admin list

Usage

Docker Compose

Docker compose is the recommended way to run this image. Copy the content of folder examples/compose in /var/ejtserver/ 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

Command line

You can also use the following minimal command:

docker run -d -p 11862:11862 --name ejtserver \
  -e TZ="Europe/Paris" \
  -e EJT_ACCOUNT_USERNAME="my_ejt_username" \
  -e EJT_ACCOUNT_PASSWORD="my_ejt_password" \
  -e EJTSERVER_LICENSES="0-0123-0123456789" \
  -v $(pwd)/data:/data \
  crazymax/ejtserver:latest

Upgrade

Recreate the container whenever I push an update:

docker-compose pull
docker-compose up -d

Notes

How to use your floating license?

ej-technologies' products offer a floating license mode in the license dialog. Choose Help -> Enter License Key from the main menu in the JProfiler GUI or the install4j IDE and select the Floating license radio button.

The "Name" and "Company" fields are informational only, unless you choose to restrict the allowed values for the "Name" field as described in README.TXT. In the license server field you have to enter the hostname of the computer where the license server is running. Instead of a host name, an IP address can also be used.

If have a floating license for a certain major version of a product, you can use older versions of the same product with that floating license as well.

Should you require any additional assistance, please contact [email protected]

User groups

If you want to partition keys to different groups of users, you can define groups in the file license.txt and the access control files users.txt and ip.txt by inserting group headers:

   [group]

All entries after a group header belong to that group until a new group is started. If no group has been started, entries are added to the "default" group.

Users are assigned to a group based on the defined groups in the access control files. If users are defined in users.txt, the group is determined by the that file. If the resulting group is the default group, the ip.txt file will be used for determining the associated group. If the users.txt file is empty, only the ip.txt file will be used.

In order to partition a single key to different groups in the license.txt file, add the key to multiple groups with the following syntax:

   n:key

where n is the number of concurrent users that should be assigned to the current group. Use different values of n in different groups that add up to the maximum number of current users for the key. For example:

[groupA]
4:F-95-10-xxx
[groupB]
6:F-95-10-xxx

splits the 10-user key F-95-10-xxx into 4 concurrent users for [groupA] and 6 concurrent users for [groupB]. In users.txt, the groups would be defined as:

[groupA]
bob
alice
...


[groupB]
carol
john
...

Alternatively, the ip.txt file could define groups as:

[groupA]
192.162.1.*
[groupB]
192.162.2.*

Group names are shown in the log file next to the user name.

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! 🙏

License

MIT. See LICENSE for more details.
And a special thanks to @ingokegel and ej-technologies'!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].