docker compose stack with traefik
All checks were successful
Build And Push Oracolo to Docker Hub / build-push-docker-image (push) Successful in 38s

This commit is contained in:
PastaGringo 2024-05-28 17:44:36 +02:00
parent 2e2b7f0805
commit 97176eef44
No known key found for this signature in database
GPG key ID: 58291E5373BF82BF
2 changed files with 63 additions and 0 deletions

5
.env.example Normal file
View file

@ -0,0 +1,5 @@
LETSENCRYPT_EMAIL
ORACOLO_DOMAIN
NPUB=
RELAYS=
TOP_NOTES_NB=

58
docker-compose.yml Normal file
View file

@ -0,0 +1,58 @@
version: '3.8'
services:
traefik:
image: "traefik:latest"
container_name: "traefik"
restart: unless-stopped
command:
- "--accesslog=false"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.websecure.address=:443"
- "--entrypoints.web.address=:80"
- "--entrypoints.web.http.redirections.entrypoint.to=websecure"
- "--entrypoints.web.http.redirections.entrypoint.scheme=https"
- "--certificatesresolvers.selfhostedservices.acme.tlschallenge=true"
### Traefik Stafing ACME servers. Comment for PRODUCTION ###
- "--certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
############################################################
- "--certificatesresolvers.selfhostedservices.acme.email=${LETSENCRYPT_EMAIL}"
- "--certificatesresolvers.selfhostedservices.acme.storage=/letsencrypt/acme.json"
- "--api.insecure=true"
- "--api.dashboard=true"
- "--providers.docker"
- "--log.level=INFO"
ports:
- target: 80
published: 80
mode: host
- target: 443
published: 443
mode: host
- target: 8080
published: 8080
mode: host
volumes:
- "./letsencrypt:/letsencrypt"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
oracolo:
container_name: oracolo
image: pastagringo/oracolo-docker
#build:
# context: .
environment:
- NPUB=${NPUB}
- RELAYS=${RELAYS}
- TOP_NOTES_NB=${TOP_NOTES}
# ports:
# - 8080:8080
labels:
- "traefik.enable=true"
- "traefik.http.routers.oracolo.rule=Host(`${ORACOLO_DOMAIN}`)"
- "traefik.http.services.oracolo.loadbalancer.server.port=8080"
- "traefik.http.routers.oracolo.entrypoints=websecure"
- "traefik.http.routers.oracolo.tls.certresolver=selfhostedservices"
- "traefik.http.middlewares.accesscontrol.headers.customResponseHeaders.access-control-allow-origin=*"
- "traefik.http.routers.oracolo.middlewares=accesscontrol@docker"