added TrueCommand deployment

This commit is contained in:
Bryan Joshua Pedini 2023-08-06 14:05:32 +02:00
parent a4d19a91e0
commit 9334e14ccf
3 changed files with 64 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
.env
data

40
docker-compose.yml Normal file
View File

@ -0,0 +1,40 @@
---
services:
truecommand:
image: ixsystems/truecommand:${TRUECOMMAND_VERSION}
restart: unless-stopped
labels:
### Section Træfik
- traefik.enable=${TRAEFIK_ENABLED}
- traefik.docker.network=${TRAEFIK_NETWORK}
## HTTP
- traefik.http.routers.http-${TRAEFIK_ROUTER}.entrypoints=http
# redirect to HTTPS only
- traefik.http.routers.http-${TRAEFIK_ROUTER}.middlewares=${TRAEFIK_HTTP_MIDDLEWARES}
- traefik.http.routers.http-${TRAEFIK_ROUTER}.rule=${TRAEFIK_MATCHRULE}
## HTTPS UI
- traefik.http.routers.https-${TRAEFIK_ROUTER}.entrypoints=https
# configure the exposed service
- traefik.http.routers.https-${TRAEFIK_ROUTER}.middlewares=${TRAEFIK_HTTPS_MIDDLEWARES}
- traefik.http.routers.https-${TRAEFIK_ROUTER}.rule=${TRAEFIK_MATCHRULE}
# enable TLS and its certificate provider
- traefik.http.routers.https-${TRAEFIK_ROUTER}.tls=${TRAEFIK_TLSENABLED}
- traefik.http.routers.https-${TRAEFIK_ROUTER}.tls.certresolver=${TRAEFIK_CERTRESOLVER}
# specify a service so a custom port can be used
- traefik.http.services.${TRAEFIK_SERVICE}.loadbalancer.server.port=${TRAEFIK_SERVICE_PORT}
- traefik.http.routers.https-${TRAEFIK_ROUTER}.service=${TRAEFIK_SERVICE}
### Section Diun
- diun.enable=${DIUN_ENABLE}
- diun.watch_repo=${DIUN_WATCHREPO}
- diun.sort_tags=${DIUN_SORTALGO}
- diun.include_tags=${DIUN_INCLUDE}
- diun.exclude_tags=${DIUN_EXCLUDE}
networks:
- traefik
volumes:
- ${TRUECOMMAND_DATA}:/data
networks:
traefik:
external: true
name: ${TRAEFIK_NETWORK}

22
env.example Normal file
View File

@ -0,0 +1,22 @@
# Træfik
TRAEFIK_ENABLED=true
TRAEFIK_NETWORK=traefik
TRAEFIK_ROUTER=truecommand_example_com
TRAEFIK_SERVICE=truecommand_example_com
TRAEFIK_SERVICE_PORT=80
TRAEFIK_MATCHRULE=Host(`truecommand.example.com`)
TRAEFIK_TLSENABLED=true
TRAEFIK_CERTRESOLVER=letsencrypt
TRAEFIK_HTTP_MIDDLEWARES=http-to-https
TRAEFIK_HTTPS_MIDDLEWARES=hsts
# Diun
DIUN_ENABLE=true
DIUN_WATCHREPO=true
DIUN_SORTALGO=semver
DIUN_INCLUDE=
DIUN_EXCLUDE=
# TrueCommand
TRUECOMMAND_VERSION=2.3.3
TRUECOMMAND_DATA=./data