From 188c679de2cd3956f6fee867b99ee7d7fdc381b8 Mon Sep 17 00:00:00 2001 From: ryuupendragon Date: Fri, 25 Jul 2025 17:16:29 +0530 Subject: [PATCH] Add traefik config --- traefik/config.yml | 51 +++++++++++++++++++++++++++++++++++++++++++ traefik/traefik.yml | 53 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 traefik/config.yml create mode 100644 traefik/traefik.yml diff --git a/traefik/config.yml b/traefik/config.yml new file mode 100644 index 0000000..1d0d414 --- /dev/null +++ b/traefik/config.yml @@ -0,0 +1,51 @@ +http: + #region routers + routers: + example: + entryPoints: + - "websecure" + rule: "Host(`example.local.domain.name`)" + middlewares: + - default-headers + - https-redirectscheme + tls: {} + service: example +#endregion + +#region services + services: + example: + loadBalancer: + servers: + - url: "http://ip:port/" + passHostHeader: true +#endregion + + middlewares: + https-redirectscheme: + redirectScheme: + scheme: https + permanent: true + default-headers: + headers: + frameDeny: true + browserXssFilter: true + contentTypeNosniff: true + forceSTSHeader: true + stsIncludeSubdomains: true + stsPreload: true + stsSeconds: 15552000 + customFrameOptionsValue: SAMEORIGIN + customRequestHeaders: + X-Forwarded-Proto: https + + default-whitelist: + ipAllowList: + sourceRange: + - "local ip subnet" + + secured: + chain: + middlewares: + - default-whitelist + - default-headers diff --git a/traefik/traefik.yml b/traefik/traefik.yml new file mode 100644 index 0000000..4d24402 --- /dev/null +++ b/traefik/traefik.yml @@ -0,0 +1,53 @@ +api: + dashboard: true + debug: true +entryPoints: + web: + address: ":80" + http: + redirections: + entryPoint: + to: websecure + scheme: https + websecure: + address: ":443" + http: + tls: + certResolver: letsencrypt + domains: + - main: domain.name + sans: + - '*.domain.name' + - '*.local.domain.name' +serversTransport: + insecureSkipVerify: true +providers: + docker: + endpoint: "unix:///var/run/docker.sock" + exposedByDefault: false + file: + filename: /config.yml +certificatesResolvers: + letsencrypt: + acme: + email: email@domain.name + storage: acme.json + caServer: https://acme-v02.api.letsencrypt.org/directory # prod (default) + # caServer: https://acme-staging-v02.api.letsencrypt.org/directory # staging + dnsChallenge: + provider: cloudflare + #disablePropagationCheck: true # uncomment this if you have issues pulling certificates through cloudflare, By setting this flag to true disables the need to wait for the propagation of the TXT record to all authoritative name servers. + #delayBeforeCheck: 60s # uncomment along with disablePropagationCheck if needed to ensure the TXT record is ready before verification is attempted + resolvers: + - "1.1.1.1:53" + - "1.0.0.1:53" +log: + level: "INFO" + filePath: "/var/log/traefik/traefik.log" + maxSize: 10 + maxBackups: 5 +accessLog: + filePath: "/var/log/traefik/access.log" + fields: + names: + StartUTC: drop \ No newline at end of file