version: '3' services: myreverse: image: bunkerity/bunkerized-nginx restart: always ports: - 80:8080 - 443:8443 # bunkerized-nginx runs as an unprivileged user with UID/GID 101 # don't forget to edit the permissions of the files and folders accordingly volumes: - ./apps:/www:ro - ./letsencrypt:/etc/letsencrypt environment: - MULTISITE=yes - SERVER_NAME=app1.website.com app2.website.com app3.website.com # replace with your domains - DISABLE_DEFAULT_SERVER=yes - REDIRECT_HTTP_TO_HTTPS=yes - AUTO_LETS_ENCRYPT=yes - USE_CLIENT_CACHE=yes - USE_GZIP=yes - ROOT_SITE_SUBFOLDER=web-files - app1.website.com_REMOTE_PHP=app1 - app1.website.com_REMOTE_PHP_PATH=/var/www/html - app2.website.com_REMOTE_PHP=app2 - app2.website.com_REMOTE_PHP_PATH=/var/www/html - app2.website.com_ROOT_SITE_SUBFOLDER= # no subfolder - app3.website.com_REMOTE_PHP=app3 - app3.website.com_REMOTE_PHP_PATH=/var/www/html - app3.website.com_ROOT_SITE_SUBFOLDER=another-folder app1: image: php:fpm restart: always volumes: - ./apps/app1.website.com/web-files:/var/www/html # app1 project web root app1_db: image: mariadb restart: always volumes: - ./apps/app1.website.com/db-data:/var/lib/mysql # app1 project data environment: - MYSQL_ROOT_PASSWORD=db-root-pwd # replace with a stronger password - MYSQL_DATABASE=app - MYSQL_USER=user - MYSQL_PASSWORD=db-user-pwd # replace with a stronger password app2: image: php:fpm restart: always volumes: - ./apps/app2.website.com:/var/www/html # app2 project with no subfolder app3: build: apps/app3.website.com/. # project with custom built image image: my-php restart: always volumes: - ./apps/app3.website.com/another-folder:/var/www/html # app3 project web root