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} GIT_REPO_URL: ${GIT_REPO_URL} APP_URL: ${APP_URL} DB_HOST: ${DB_HOST} DB_PORT: ${DB_PORT} DB_DATABASE: ${DB_DATABASE} DB_USERNAME: ${DB_USERNAME} DB_PASSWORD: ${DB_PASSWORD} 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 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: networks: nginx_proxy: name: nginx_proxy