services: app: build: context: . dockerfile: Dockerfile container_name: ${PROJECT_NAME}_app volumes: - ./data:/var/www depends_on: - mariadb environment: VIRTUAL_HOST: ${APP_DOMAIN} LETSENCRYPT_HOST: ${APP_DOMAIN} LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL} networks: - nginx_proxy expose: - "80" mariadb: image: mariadb:10.6 container_name: ${PROJECT_NAME}_db restart: always environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: ${DB_DATABASE} MYSQL_USER: ${DB_USERNAME} MYSQL_PASSWORD: ${DB_PASSWORD} volumes: - dbdata:/var/lib/mysql ports: - "3306:3306" networks: - nginx_proxy redis: image: redis:alpine container_name: ${PROJECT_NAME}_redis ports: - "6379:6379" restart: unless-stopped volumes: - redisdata:/data networks: - nginx_proxy redisinsight: image: redislabs/redisinsight:latest container_name: ${PROJECT_NAME}_redisinsight ports: - "8001:8001" networks: - nginx_proxy depends_on: - redis nginx-proxy: image: jwilder/nginx-proxy container_name: ${PROJECT_NAME}_nginx_proxy ports: - "80:80" - "443:443" volumes: - /var/run/docker.sock:/tmp/docker.sock:ro - ./certs:/etc/nginx/certs - ./vhost.d:/etc/nginx/vhost.d - ./html:/usr/share/nginx/html networks: - nginx_proxy volumes: dbdata: redisdata: networks: nginx_proxy: name: nginx_proxy