64 lines
1.8 KiB
YAML
64 lines
1.8 KiB
YAML
version: '3.2'
|
|
|
|
services:
|
|
traefik:
|
|
image: traefik:1.6-alpine
|
|
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
|
|
mode: host
|
|
- target: 443
|
|
published: 443
|
|
protocol: tcp
|
|
mode: host
|
|
volumes:
|
|
- ./acme.json:/acme.json
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
restart: always
|
|
|
|
app:
|
|
image: crazymax/jetbrains-license-server:latest
|
|
depends_on:
|
|
- traefik
|
|
volumes:
|
|
- jetbrains-license-server:/data
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.backend=jetbrains-license-server
|
|
- traefik.port=80
|
|
- 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=1BFC67F51AAF99E85C2347B72E62C
|
|
restart: always
|
|
|
|
volumes:
|
|
jetbrains-license-server:
|