--- services: matomo: image: docker.io/matomo:${MATOMO_VERSION} restart: unless-stopped depends_on: - mariadb environment: - MATOMO_DATABASE_HOST=mariadb - MATOMO_DATABASE_USERNAME=${MARIADB_USER} - MATOMO_DATABASE_PASSWORD=${MARIADB_PASSWORD} - MATOMO_DATABASE_DBNAME=${MARIADB_DATABASE} 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 - 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=80 networks: - traefik - internal volumes: - ${MATOMO_DATA}:/var/www/html mariadb: image: mariadb:${MARIADB_VERSION} restart: unless-stopped environment: - MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD} - MARIADB_USER=${MARIADB_USER} - MARIADB_PASSWORD=${MARIADB_PASSWORD} - MARIADB_DATABASE=${MARIADB_DATABASE} volumes: - ${MARIADB_DATA}:/var/lib/mysql networks: - internal networks: internal: traefik: external: true name: ${TRAEFIK_NETWORK}