Files
asepharyana-hub/infra/traefik/TRAEFIK_ENV_CONFIG.md
T

3.2 KiB

Traefik Environment Configuration

This document describes environment variables used to configure Traefik certificate and config paths in production deployments.

Certificate Path Environment Variables

All certificate paths support environment variable substitution with safe fallback defaults. This allows flexible certificate management across different deployment environments without modifying compose files.

Configuration Variables

Variable Description Default Path Purpose
TRAEFIK_CONFIG_PATH Directory containing dynamic Traefik configuration files (YAML) /root/asepharyana-hub/infra/traefik/dynamic Location of middleware, router, and service definitions
TRAEFIK_CERT_ASEPHARYANA_MY_ID_PEM Certificate file for asepharyana.my.id /root/asepharyana.my.id.pem SSL/TLS certificate for asepharyana.my.id domain
TRAEFIK_CERT_ASEPHARYANA_MY_ID_KEY Key file for asepharyana.my.id /root/asepharyana.my.id.key SSL/TLS private key for asepharyana.my.id domain
TRAEFIK_CERT_ASEPHARYANA_WEB_ID_PEM Certificate file for asepharyana.web.id /root/asepharyana.web.id.pem SSL/TLS certificate for asepharyana.web.id domain
TRAEFIK_CERT_ASEPHARYANA_WEB_ID_KEY Key file for asepharyana.web.id /root/asepharyana.web.id.key SSL/TLS private key for asepharyana.web.id domain

Usage

Default Behavior (Production)

If no environment variables are set, Traefik will use the default paths shown above. This is suitable for production deployments where certificates are installed at these standard locations.

docker compose -f infra/compose/traefik.yml up -d

Custom Paths (Custom Deployments)

To override paths for a custom deployment, set environment variables before starting services:

export TRAEFIK_CONFIG_PATH=/etc/traefik/custom-dynamic

docker compose -f infra/compose/traefik.yml up -d

Via .env File

Create or update your .env file in the deployment directory:

TRAEFIK_CONFIG_PATH=/root/asepharyana-hub/infra/traefik/dynamic
TRAEFIK_CERT_ASEPHARYANA_MY_ID_PEM=/root/asepharyana.my.id.pem
TRAEFIK_CERT_ASEPHARYANA_MY_ID_KEY=/root/asepharyana.my.id.key
TRAEFIK_CERT_ASEPHARYANA_WEB_ID_PEM=/root/asepharyana.web.id.pem
TRAEFIK_CERT_ASEPHARYANA_WEB_ID_KEY=/root/asepharyana.web.id.key

Then deploy:

docker compose --env-file .env -f infra/compose/traefik.yml up -d

Notes

  • All certificate paths use read-only mounts (:ro) for security
  • If a certificate file is missing at the specified path, Docker volume mounting will fail—ensure certificates exist before starting Traefik
  • The dynamic configuration directory must contain valid YAML files for Traefik to load properly