diff --git a/arty.yml b/arty.yml index 20921dd..1e3139e 100644 --- a/arty.yml +++ b/arty.yml @@ -123,6 +123,8 @@ envs: KIT_PASTEL_TRAEFIK_HOST: pastel.kit.pivoine.art KIT_STIRLING_IMAGE: frooodle/s-pdf:latest KIT_STIRLING_TRAEFIK_HOST: stirling.kit.pivoine.art + KIT_UNITS_IMAGE: ghcr.io/valknarness/units-ui:latest + KIT_UNITS_TRAEFIK_HOST: units.kit.pivoine.art # Jellyfin JELLY_TRAEFIK_ENABLED: true JELLY_COMPOSE_PROJECT_NAME: jelly diff --git a/kit/compose.yaml b/kit/compose.yaml index 50b0771..ead65c6 100644 --- a/kit/compose.yaml +++ b/kit/compose.yaml @@ -147,6 +147,31 @@ services: # Watchtower - 'com.centurylinklabs.watchtower.enable=${WATCHTOWER_LABEL_ENABLE}' + units: + image: ${KIT_UNITS_IMAGE:-ghcr.io/valknarness/units-ui:latest} + container_name: ${KIT_COMPOSE_PROJECT_NAME}_units + restart: unless-stopped + networks: + - compose_network + labels: + - 'traefik.enable=${KIT_TRAEFIK_ENABLED}' + # HTTP to HTTPS redirect + - 'traefik.http.middlewares.${KIT_COMPOSE_PROJECT_NAME}-units-redirect-web-secure.redirectscheme.scheme=https' + - 'traefik.http.routers.${KIT_COMPOSE_PROJECT_NAME}-units-web.middlewares=${KIT_COMPOSE_PROJECT_NAME}-units-redirect-web-secure' + - 'traefik.http.routers.${KIT_COMPOSE_PROJECT_NAME}-units-web.rule=Host(`${KIT_UNITS_TRAEFIK_HOST}`)' + - 'traefik.http.routers.${KIT_COMPOSE_PROJECT_NAME}-units-web.entrypoints=web' + # HTTPS router + - 'traefik.http.routers.${KIT_COMPOSE_PROJECT_NAME}-units-web-secure.rule=Host(`${KIT_UNITS_TRAEFIK_HOST}`)' + - 'traefik.http.routers.${KIT_COMPOSE_PROJECT_NAME}-units-web-secure.tls.certresolver=resolver' + - 'traefik.http.routers.${KIT_COMPOSE_PROJECT_NAME}-units-web-secure.entrypoints=web-secure' + - 'traefik.http.middlewares.${KIT_COMPOSE_PROJECT_NAME}-units-compress.compress=true' + - 'traefik.http.routers.${KIT_COMPOSE_PROJECT_NAME}-units-web-secure.middlewares=${KIT_COMPOSE_PROJECT_NAME}-units-compress,security-headers@file' + # Service + - 'traefik.http.services.${KIT_COMPOSE_PROJECT_NAME}-units.loadbalancer.server.port=3000' + - 'traefik.docker.network=${NETWORK_NAME}' + # Watchtower + - 'com.centurylinklabs.watchtower.enable=${WATCHTOWER_LABEL_ENABLE}' + networks: compose_network: name: ${NETWORK_NAME}