Compare commits
3 Commits
3202ede472
...
feature/di
| Author | SHA1 | Date | |
|---|---|---|---|
| a9c73db45c | |||
| 22352dd8a7 | |||
| 704ecf7024 |
@@ -1,36 +0,0 @@
|
||||
name: Lint and Format Docker Compose files
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [development]
|
||||
pull_request:
|
||||
branches: [main]
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
name: Docker Compose Lint
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- name: "Lint Docker Compose files"
|
||||
uses: docker-compose-linter/dclint-github-action@v1.6.0
|
||||
with:
|
||||
path: .
|
||||
recursive: true
|
||||
|
||||
format:
|
||||
name: Docker Compose formatting
|
||||
runs-on: ubuntu-latest
|
||||
needs: [lint]
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- name: "Set up Python"
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.12'
|
||||
cache: 'pip'
|
||||
- name: "Install compose_format module"
|
||||
run: 'pip install compose_format'
|
||||
- name: "Format Docker Compose files"
|
||||
run: 'find . -iname "*.yaml" -exec compose_format --replace {} \;'
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
||||
.DS_Store
|
||||
*.env
|
||||
4
dist/traefik/.env.template
vendored
Normal file
4
dist/traefik/.env.template
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
BASE_DOMAIN=example.com
|
||||
SERVICE_DOMAIN=traefik.example.com
|
||||
# admin:admin
|
||||
DASHBOARD_HTPASSWORD=admin:$2b$10$1DxaLIdVmJVNcQUmMxdfiOjlnp2gDKiMQjpTNxagVJEoTGTUOfVnG
|
||||
42
dist/traefik/compose.yaml
vendored
Normal file
42
dist/traefik/compose.yaml
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
networks:
|
||||
traefik-network:
|
||||
|
||||
services:
|
||||
traefik:
|
||||
image: traefik:v3.6.4
|
||||
container_name: traefik
|
||||
restart: unless-stopped
|
||||
dns:
|
||||
- 1.1.1.1
|
||||
- 8.8.8.8
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.dashboard.rule=Host(`${SERVICE_DOMAIN}`)"
|
||||
- "traefik.http.routers.dashboard.entrypoints=https"
|
||||
- "traefik.http.routers.dashboard.service=api@internal"
|
||||
- "traefik.http.routers.dashboard.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.dashboard.middlewares=dashboard-auth"
|
||||
- "traefik.http.middlewares.dashboard-auth.basicauth.users=${DASHBOARD_HTPASSWORD}"
|
||||
command:
|
||||
- "--log.level=DEBUG"
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
- ./traefik.yaml:/traefik.yaml:ro
|
||||
- ./acme.json:/acme.json
|
||||
- ./certs:/certs
|
||||
networks:
|
||||
- traefik-network
|
||||
|
||||
traefik-certs-dumper:
|
||||
image: ldez/traefik-certs-dumper:v2.9.3
|
||||
container_name: traefik-certs-dumper
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./acme.json:/acme.json:ro
|
||||
- ./certs:/output
|
||||
environment:
|
||||
- DOMAIN=${BASE_DOMAIN}
|
||||
command: "file --version v2 --watch --source /acme.json --dest /output"
|
||||
26
dist/traefik/traefik.yaml
vendored
Normal file
26
dist/traefik/traefik.yaml
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
api:
|
||||
insecure: false
|
||||
dashboard: true
|
||||
|
||||
entryPoints:
|
||||
http:
|
||||
address: ":80"
|
||||
http:
|
||||
redirections:
|
||||
entryPoint:
|
||||
to: https
|
||||
scheme: https
|
||||
https:
|
||||
address: ":443"
|
||||
|
||||
providers:
|
||||
docker:
|
||||
exposedByDefault: false
|
||||
|
||||
certificatesResolvers:
|
||||
letsencrypt:
|
||||
acme:
|
||||
email: YOUR_EMAIL@example.com
|
||||
storage: /acme.json
|
||||
httpChallenge:
|
||||
entryPoint: web
|
||||
Reference in New Issue
Block a user