71 lines
2.1 KiB
YAML
71 lines
2.1 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
traefik:
|
|
image: traefik:latest
|
|
container_name: "traefik"
|
|
command:
|
|
- "--providers.docker=true"
|
|
- "--api.dashboard=true"
|
|
- "--api.insecure=true"
|
|
- "--providers.docker.exposedbydefault=false"
|
|
- "--entrypoints.web.address=:80"
|
|
- "--entrypoints.websecure.address=:443"
|
|
- "--certificatesresolvers.letsencrypt.acme.email=learn@akamai.com"
|
|
- "--certificatesresolvers.letsencrypt.acme.storage=/etc/traefik/acme/acme.json"
|
|
- "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web"
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
- "8080:8080" # /dashboard/
|
|
volumes:
|
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
|
- "../volumes/acme:/etc/traefik/acme"
|
|
|
|
wp:
|
|
image: wordpress
|
|
scale: 3
|
|
restart: always
|
|
environment:
|
|
WORDPRESS_DB_HOST: db
|
|
WORDPRESS_DB_USER: wordpress
|
|
WORDPRESS_DB_PASSWORD: examplepass
|
|
WORDPRESS_DB_NAME: wordpress
|
|
volumes:
|
|
- wp-data:/var/www/html
|
|
labels:
|
|
- "traefik.enable=true" # Enable Traefik
|
|
- "traefik.http.routers.wp.rule=Host(`origin-akashop.akamai-lab.com`)"
|
|
- "traefik.http.routers.wp.tls=true"
|
|
- "traefik.http.routers.wp.tls.certresolver=letsencrypt"
|
|
- "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https" # HTTP to HTTPS redirect
|
|
- "traefik.http.middlewares.redirect-to-https.redirectscheme.permanent=true"
|
|
- "traefik.http.routers.redirs.rule=hostregexp(`{host:.+}`)"
|
|
- "traefik.http.routers.redirs.entrypoints=web"
|
|
- "traefik.http.routers.redirs.middlewares=redirect-to-https"
|
|
|
|
db:
|
|
image: mysql
|
|
restart: always
|
|
environment:
|
|
MYSQL_DATABASE: wordpress
|
|
MYSQL_USER: wordpress
|
|
MYSQL_PASSWORD: examplepass
|
|
MYSQL_RANDOM_ROOT_PASSWORD: '1'
|
|
volumes:
|
|
- db-data:/var/lib/mysql
|
|
|
|
volumes:
|
|
wp-data:
|
|
driver: local
|
|
driver_opts:
|
|
type: nfs
|
|
o: addr=10.0.0.2,nolock,soft,rw
|
|
device: ":/nfs/share/akashop/wp"
|
|
db-data:
|
|
driver: local
|
|
driver_opts:
|
|
type: nfs
|
|
o: addr=10.0.0.2,nolock,soft,rw
|
|
device: ":/nfs/share/akashop/db"
|