Dedicated example for Traefik
This commit is contained in:
parent
171e0c32f1
commit
fd6895097c
@ -1,5 +1,9 @@
|
||||
# Changelog
|
||||
|
||||
## 21137-RC2 (2019/11/17)
|
||||
|
||||
* Allow to set custom `PUID`/`PGID`
|
||||
|
||||
## 21137-RC1 (2019/10/24)
|
||||
|
||||
* JetBrains License Server 21137
|
||||
|
@ -23,7 +23,7 @@ If you are interested, [check out](https://hub.docker.com/r/crazymax/) my other
|
||||
* Multi-platform image
|
||||
* License server completely customizable via environment variables
|
||||
* Registration data and configuration in a single directory
|
||||
* [Traefik](https://github.com/containous/traefik-library-image) as reverse proxy and creation/renewal of Let's Encrypt certificates
|
||||
* [Traefik](https://github.com/containous/traefik-library-image) as reverse proxy and creation/renewal of Let's Encrypt certificates (see [this template](examples/traefik))
|
||||
|
||||
## Docker
|
||||
|
||||
@ -76,8 +76,6 @@ Image: crazymax/jetbrains-license-server:latest
|
||||
Docker compose is the recommended way to run this image. Copy the content of folder [examples/compose](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
|
||||
touch acme.json
|
||||
chmod 600 acme.json
|
||||
docker-compose up -d
|
||||
docker-compose logs -f
|
||||
```
|
||||
@ -89,7 +87,7 @@ 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=jetbrains-license-server.example.com \
|
||||
-e JLS_VIRTUAL_HOSTS=jls.example.com \
|
||||
-v $(pwd)/data:/data \
|
||||
crazymax/jetbrains-license-server:latest
|
||||
```
|
||||
|
@ -1,63 +1,18 @@
|
||||
version: "3.2"
|
||||
|
||||
services:
|
||||
traefik:
|
||||
image: traefik:1.7-alpine
|
||||
container_name: traefik
|
||||
command:
|
||||
- "--logLevel=INFO"
|
||||
- "--defaultentrypoints=http,https"
|
||||
- "--entryPoints=Name:http Address::80 Redirect.EntryPoint:https"
|
||||
- "--entryPoints=Name:https Address::443 TLS"
|
||||
- "--docker"
|
||||
- "--docker.exposedbydefault=false"
|
||||
- "--docker.domain=example.com"
|
||||
- "--acme=false"
|
||||
- "--acme.acmelogging=true"
|
||||
- "--acme.email=webmaster@example.com"
|
||||
- "--acme.storage=acme.json"
|
||||
- "--acme.entryPoint=https"
|
||||
- "--acme.onhostrule=true"
|
||||
- "--acme.httpchallenge=true"
|
||||
- "--acme.httpchallenge.entrypoint=http"
|
||||
ports:
|
||||
- target: 80
|
||||
published: 80
|
||||
protocol: tcp
|
||||
- target: 443
|
||||
published: 443
|
||||
protocol: tcp
|
||||
volumes:
|
||||
- "./acme.json:/acme.json"
|
||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||
restart: always
|
||||
|
||||
app:
|
||||
jls:
|
||||
image: crazymax/jetbrains-license-server:latest
|
||||
container_name: jetbrains_license_server
|
||||
depends_on:
|
||||
- traefik
|
||||
container_name: jls
|
||||
ports:
|
||||
- target: 8000
|
||||
published: 8000
|
||||
protocol: tcp
|
||||
volumes:
|
||||
- "jetbrains-license-server:/data"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.backend=jetbrains-license-server"
|
||||
- "traefik.port=8000"
|
||||
- "traefik.frontend.rule=Host:jetbrains-license-server.example.com,an-other-host.example.com"
|
||||
environment:
|
||||
- "TZ=Europe/Paris"
|
||||
- "JLS_VIRTUAL_HOSTS=jetbrains-license-server.example.com,an-other-host.example.com"
|
||||
- "JLS_CONTEXT=/"
|
||||
- "JLS_ACCESS_CONFIG=/data/access-config.json"
|
||||
- "JLS_STATS_RECIPIENTS=webmaster@example.com,an-other-address@example.com"
|
||||
- "JLS_REPORT_OUT_OF_LICENSE=90"
|
||||
- "JLS_SMTP_SERVER=smtp.example.com"
|
||||
- "JLS_SMTP_PORT=25"
|
||||
- "JLS_SMTP_USERNAME=smtp@example.com"
|
||||
- "JLS_SMTP_PASSWORD="
|
||||
- "JLS_STATS_FROM=jetbrains@example.com"
|
||||
- "JLS_STATS_TOKEN=0123456789ABCDEF"
|
||||
- "jls:/data"
|
||||
env_file:
|
||||
- "./jls.env"
|
||||
restart: always
|
||||
|
||||
volumes:
|
||||
jetbrains-license-server:
|
||||
jls:
|
||||
|
12
examples/compose/jls.env
Normal file
12
examples/compose/jls.env
Normal file
@ -0,0 +1,12 @@
|
||||
TZ=Europe/Paris
|
||||
JLS_VIRTUAL_HOSTS=127.0.0.1,jls.example.com
|
||||
JLS_CONTEXT=/
|
||||
JLS_ACCESS_CONFIG=/data/access-config.json
|
||||
JLS_STATS_RECIPIENTS=webmaster@example.com,an-other-address@example.com
|
||||
JLS_REPORT_OUT_OF_LICENSE=90
|
||||
JLS_SMTP_SERVER=smtp.example.com
|
||||
JLS_SMTP_PORT=25
|
||||
JLS_SMTP_USERNAME=smtp@example.com
|
||||
JLS_SMTP_PASSWORD=
|
||||
JLS_STATS_FROM=jetbrains@example.com
|
||||
JLS_STATS_TOKEN=0123456789ABCDEF
|
8
examples/traefik/README.md
Normal file
8
examples/traefik/README.md
Normal file
@ -0,0 +1,8 @@
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
touch acme.json
|
||||
chmod 600 acme.json
|
||||
docker-compose up -d
|
||||
docker-compose logs -f
|
||||
```
|
50
examples/traefik/docker-compose.yml
Normal file
50
examples/traefik/docker-compose.yml
Normal file
@ -0,0 +1,50 @@
|
||||
version: "3.2"
|
||||
|
||||
services:
|
||||
traefik:
|
||||
image: traefik:1.7-alpine
|
||||
container_name: traefik
|
||||
command:
|
||||
- "--logLevel=INFO"
|
||||
- "--defaultentrypoints=http,https"
|
||||
- "--entryPoints=Name:http Address::80 Redirect.EntryPoint:https"
|
||||
- "--entryPoints=Name:https Address::443 TLS"
|
||||
- "--docker"
|
||||
- "--docker.exposedbydefault=false"
|
||||
- "--docker.domain=example.com"
|
||||
- "--acme=false"
|
||||
- "--acme.acmelogging=true"
|
||||
- "--acme.email=webmaster@example.com"
|
||||
- "--acme.storage=acme.json"
|
||||
- "--acme.entryPoint=https"
|
||||
- "--acme.onhostrule=true"
|
||||
- "--acme.httpchallenge=true"
|
||||
- "--acme.httpchallenge.entrypoint=http"
|
||||
ports:
|
||||
- target: 80
|
||||
published: 80
|
||||
protocol: tcp
|
||||
- target: 443
|
||||
published: 443
|
||||
protocol: tcp
|
||||
volumes:
|
||||
- "./acme.json:/acme.json"
|
||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||
restart: always
|
||||
|
||||
jls:
|
||||
image: crazymax/jetbrains-license-server:latest
|
||||
container_name: jls
|
||||
volumes:
|
||||
- "jls:/data"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.backend=jls"
|
||||
- "traefik.port=8000"
|
||||
- "traefik.frontend.rule=Host:jls.example.com,an-other-host.example.com"
|
||||
env_file:
|
||||
- "./jls.env"
|
||||
restart: always
|
||||
|
||||
volumes:
|
||||
jls:
|
12
examples/traefik/jls.env
Normal file
12
examples/traefik/jls.env
Normal file
@ -0,0 +1,12 @@
|
||||
TZ=Europe/Paris
|
||||
JLS_VIRTUAL_HOSTS=jls.example.com,an-other-host.example.com
|
||||
JLS_CONTEXT=/
|
||||
JLS_ACCESS_CONFIG=/data/access-config.json
|
||||
JLS_STATS_RECIPIENTS=webmaster@example.com,an-other-address@example.com
|
||||
JLS_REPORT_OUT_OF_LICENSE=90
|
||||
JLS_SMTP_SERVER=smtp.example.com
|
||||
JLS_SMTP_PORT=25
|
||||
JLS_SMTP_USERNAME=smtp@example.com
|
||||
JLS_SMTP_PASSWORD=
|
||||
JLS_STATS_FROM=jetbrains@example.com
|
||||
JLS_STATS_TOKEN=0123456789ABCDEF
|
Loading…
Reference in New Issue
Block a user