Creation
This commit is contained in:
parent
7d3bdc0643
commit
fadf30f052
9 changed files with 166 additions and 0 deletions
2
.env.default
Normal file
2
.env.default
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
SITE=localhost
|
||||||
|
TZ=Europe/Paris
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
.env
|
6
1-docker/docker-compose.yml
Normal file
6
1-docker/docker-compose.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
version: '3'
|
||||||
|
|
||||||
|
networks:
|
||||||
|
default:
|
||||||
|
srv:
|
||||||
|
|
20
glances/docker-compose.yml
Normal file
20
glances/docker-compose.yml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
version: '3'
|
||||||
|
|
||||||
|
services:
|
||||||
|
glances:
|
||||||
|
container_name: glances
|
||||||
|
image: vimagick/glances
|
||||||
|
volumes:
|
||||||
|
- glances_data:/etc/glances
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
|
environment:
|
||||||
|
- GLANCES_OPT=-w
|
||||||
|
pid: host
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- srv
|
||||||
|
expose:
|
||||||
|
- 61208
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
glances_data:
|
17
portainer/docker-compose.yml
Normal file
17
portainer/docker-compose.yml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
version: '3'
|
||||||
|
|
||||||
|
services:
|
||||||
|
portainer:
|
||||||
|
container_name: portainer
|
||||||
|
image: portainer/portainer
|
||||||
|
command: -H unix:///var/run/docker.sock
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- portainer_data:/data
|
||||||
|
networks:
|
||||||
|
- srv
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
portainer_data:
|
37
traefik/docker-compose.yml
Normal file
37
traefik/docker-compose.yml
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
version: '3'
|
||||||
|
|
||||||
|
services:
|
||||||
|
traefik:
|
||||||
|
container_name: traefik
|
||||||
|
image: traefik:v2.2
|
||||||
|
command: --providers.docker --api.insecure=true
|
||||||
|
ports:
|
||||||
|
- 80:80
|
||||||
|
- 443:443
|
||||||
|
networks:
|
||||||
|
- oueb
|
||||||
|
restart: unless-stopped
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.port=8080
|
||||||
|
- traefik.http.routers.service-http.rule=Host(${SITE})
|
||||||
|
- traefik.http.routers.service-http.entrypoints=web
|
||||||
|
- traefik.http.middlewares.https-redirect.redirectscheme.scheme=https
|
||||||
|
- traefik.http.middlewares.https-redirect.redirectscheme.permanent=true
|
||||||
|
- traefik.http.routers.service-http.middlewares=https-redirect@docker
|
||||||
|
- traefik.http.routers.service-https.rule=Host(${SITE})
|
||||||
|
- traefik.http.routers.service-https.entrypoints=websecure
|
||||||
|
- traefik.http.routers.service-https.tls=true
|
||||||
|
- traefik.http.routers.service-https.tls.certresolver=letsencrypt
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /srv/docker/server/traefik/traefik.toml:/etc/traefik/traefik.toml:ro
|
||||||
|
- /srv/docker/server/traefik/traefik_dynamic.toml:/etc/traefik/traefik_dynamic.toml:ro
|
||||||
|
- /srv/docker/server/traefik/acme.json:/acme.json
|
||||||
|
- /srv/docker/server/traefik/logs:/logs
|
||||||
|
|
||||||
|
networks:
|
||||||
|
oueb:
|
||||||
|
driver: bridge
|
0
traefik/logs/.gitkeep
Normal file
0
traefik/logs/.gitkeep
Normal file
42
traefik/traefik.toml
Normal file
42
traefik/traefik.toml
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
[global]
|
||||||
|
checkNewVersion = false
|
||||||
|
sendAnonymousUsage = false
|
||||||
|
|
||||||
|
[log]
|
||||||
|
level = "WARNING"
|
||||||
|
filePath = "/logs/traefik.log"
|
||||||
|
format = "json"
|
||||||
|
|
||||||
|
[accessLog]
|
||||||
|
filePath = "/logs/access.log"
|
||||||
|
format = "json"
|
||||||
|
bufferingSize = 100
|
||||||
|
|
||||||
|
[api]
|
||||||
|
dashboard = true
|
||||||
|
debug = false
|
||||||
|
insecure = true
|
||||||
|
|
||||||
|
[providers]
|
||||||
|
[providers.docker]
|
||||||
|
watch = true
|
||||||
|
exposedByDefault = false
|
||||||
|
swarmMode = false
|
||||||
|
network = "oueb"
|
||||||
|
|
||||||
|
[entryPoints]
|
||||||
|
[entryPoints.web]
|
||||||
|
address = ":80"
|
||||||
|
[entryPoints.websecure]
|
||||||
|
address = ":443"
|
||||||
|
|
||||||
|
[certificatesResolvers]
|
||||||
|
[certificatesResolvers.letsencrypt]
|
||||||
|
[certificatesResolvers.letsencrypt.acme]
|
||||||
|
email = "kianby@madyanne.fr"
|
||||||
|
caServer = "https://acme-v02.api.letsencrypt.org/directory"
|
||||||
|
storage = "acme.json"
|
||||||
|
keyType = "EC384"
|
||||||
|
[certificatesResolvers.letsencrypt.acme.httpChallenge]
|
||||||
|
entryPoint = "web"
|
||||||
|
|
41
traefik/traefik_dynamic.toml
Normal file
41
traefik/traefik_dynamic.toml
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
[tls]
|
||||||
|
[tls.options]
|
||||||
|
[tls.options.default]
|
||||||
|
minVersion = "VersionTLS12"
|
||||||
|
sniStrict = true
|
||||||
|
cipherSuites = [
|
||||||
|
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
|
||||||
|
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
|
||||||
|
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305",
|
||||||
|
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
|
||||||
|
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
|
||||||
|
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305",
|
||||||
|
"TLS_AES_128_GCM_SHA256",
|
||||||
|
"TLS_AES_256_GCM_SHA384",
|
||||||
|
"TLS_CHACHA20_POLY1305_SHA256"
|
||||||
|
]
|
||||||
|
curvePreferences = ["CurveP521","CurveP384"]
|
||||||
|
|
||||||
|
[http]
|
||||||
|
[http.middlewares.compression.compress]
|
||||||
|
excludedContentTypes = ["text/event-stream"]
|
||||||
|
|
||||||
|
[http.middlewares.https-redirect.redirectScheme]
|
||||||
|
scheme = "https"
|
||||||
|
permanent = true
|
||||||
|
|
||||||
|
[http.middlewares.security.headers]
|
||||||
|
accessControlAllowMethods = ["GET", "OPTIONS", "PUT"]
|
||||||
|
accessControlAllowOrigin = "origin-list-or-null"
|
||||||
|
accessControlMaxAge = 100
|
||||||
|
addVaryHeader = true
|
||||||
|
browserXssFilter = true
|
||||||
|
contentTypeNosniff = true
|
||||||
|
forceSTSHeader = true
|
||||||
|
frameDeny = true
|
||||||
|
stsIncludeSubdomains = true
|
||||||
|
stsPreload = true
|
||||||
|
customFrameOptionsValue = "SAMEORIGIN"
|
||||||
|
referrerPolicy = "same-origin"
|
||||||
|
featurePolicy = "vibrate 'self'"
|
||||||
|
stsSeconds = 315360000
|
Loading…
Add table
Reference in a new issue