summaryrefslogtreecommitdiff
path: root/docker-compose.yml
diff options
context:
space:
mode:
Diffstat (limited to 'docker-compose.yml')
-rw-r--r--docker-compose.yml61
1 files changed, 61 insertions, 0 deletions
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..c237c8a
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,61 @@
+version: '3'
+
+services:
+ db:
+ image: mysql:5.7
+ restart: always
+ volumes:
+ - "./db:/var/lib/mysql"
+ environment:
+ - "MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}"
+ - "MYSQL_PASSWORD=${MYSQL_PASSWORD}"
+ - "MYSQL_DATABASE=${MYSQL_DATABASE}"
+ - "MYSQL_USER=${MYSQL_USER}"
+ networks:
+ - internal
+
+ app:
+ build: .
+ restart: always
+ depends_on:
+ - db
+ volumes:
+ - "./data:/var/www/html"
+ environment:
+ - "WORDPRESS_DB_HOST=db"
+ - "WORDPRESS_DB_USER=${MYSQL_USER}"
+ - "WORDPRESS_DB_PASSWORD=${MYSQL_PASSWORD}"
+ - "WORDPRESS_DB_NAME=${MYSQL_DATABASE}"
+ #- "WORDPRESS_DEBUG=1"
+ networks:
+ - internal
+ - traefik-public
+ labels:
+ - "traefik.enable=true"
+ - "traefik.docker.network=${TRAEFIK_NETWORK}"
+ - "traefik.http.routers.${COMPOSE_PROJECT_NAME}-app.rule=Host(`${DOMAIN_1}`) || Host(`${DOMAIN_2}`)"
+ - "traefik.http.routers.${COMPOSE_PROJECT_NAME}-app.entrypoints=websecure"
+ - "traefik.http.routers.${COMPOSE_PROJECT_NAME}-app.tls.certresolver=letsencrypt"
+ #- "traefik.http.routers.${COMPOSE_PROJECT_NAME}-app.middlewares=${COMPOSE_PROJECT_NAME}-basicauth"
+ #- "traefik.http.middlewares.${COMPOSE_PROJECT_NAME}-basicauth.basicauth.users=${BASISAUTH_USER}:${BASICAUTH_PASSWORD}"
+
+ wpcli:
+ image: wordpress:cli
+ links:
+ - db
+ volumes:
+ - "./data:/var/www/html"
+ environment:
+ - "WORDPRESS_DB_HOST=db"
+ - "WORDPRESS_DB_USER=${MYSQL_USER}"
+ - "WORDPRESS_DB_PASSWORD=${MYSQL_PASSWORD}"
+ networks:
+ - internal
+ working_dir: "/var/www/html"
+ entrypoint: wp
+ command: "--info"
+
+networks:
+ internal:
+ traefik-public:
+ external: true