version: '3.1' services: nginx: image: bitnami/nginx:latest container_name: nginx volumes: - "./etc/nginx:/opt/bitnami/nginx/conf/vhosts" - "./Website:/opt/bitnami/nginx/html" - "./etc/logs/nginx:/opt/bitnami/nginx/logs" - "./etc/letsencrypt/certs:/opt/bitnami/nginx/conf/bitnami/certs" - "./etc/nginx/fastcgi.conf:/bitnami/nginx/conf/fastcgi.conf" ports: - "80:8080" - "443:443" environment: - NGINX_HOST=${NGINX_HOST} - LETSENCRYPT_HOST=localhost - LETSENCRYPT_EMAIL=your.email@here.com restart: always myadmin: image: phpmyadmin/phpmyadmin container_name: phpmyadmin ports: - "9000:80" environment: - PMA_ARBITRARY=1 - PMA_HOST=mysql restart: always depends_on: - mysqldb fix-mariadb-permissions: image: 'bitnami/mariadb:latest' user: root command: chown -R 1001:1001 /bitnami volumes: - "./data/db/mysq:/bitnami/mariadb" depends_on: - nginx mysqldb: image: bitnami/mariadb:latest container_name: mysql restart: always env_file: - ".env" environment: - MARIADB_DATABASE=${MARIADB_DATABASE} - MARIADB_ROOT_USER=${MARIADB_ROOT_USER} - MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD} - ALLOW_EMPTY_PASSWORD=no - MARIADB_USER=${MARIADB_USER} - MARIADB_PASSWORD=${MARIADB_PASS} - MARIADB_DATABASE=${GHOST_DATABASE_NAME} ports: - "127.0.0.1:3306:3306" volumes: - "./data/db/mysq:/bitnami/mariadb" - "./etc/mariadb/innodb.cnf:/bitnami/mariadb/conf/innodb.cnf:ro" depends_on: - fix-mariadb-permissions tomcat: image: tomcat:latest container_name: tomcat ports: - "8080:8080" restart: always volumes: - "./Website:/usr/local/tomcat/webapps/ROOT" - "./etc/tomcat:/usr/local/tomcat/conf" depends_on: - nginx fix-ghost-permissions: image: 'bitnami/ghost:latest' user: root command: chown -R 1001:1001 /bitnami/ghost volumes: - "./etc/ghost:/bitnami/ghost" depends_on: - mysqldb - nginx ghost: image: bitnami/ghost:latest container_name: ghost ports: - "127.0.0.1:2368:2368" restart: always volumes: - "./etc/ghost:/bitnami/ghost" env_file: - ".env" environment: - MARIADB_HOST=mysql - MARIADB_PORT_NUMBER=3306 - GHOST_DATABASE_USER=${MARIADB_ROOT_USER} - GHOST_DATABASE_PASSWORD=${MARIADB_ROOT_PASSWORD} - GHOST_DATABASE_NAME=${GHOST_DATABASE_NAME} - ALLOW_EMPTY_PASSWORD=${ALLOW_EMPTY_PASSWORD} - GHOST_EMAIL=${GHOST_EMAIL} - GHOST_PASSWORD=${GHOST_PASSWORD} depends_on: - fix-ghost-permissions php: image: bitnami/php-fpm:latest container_name: php restart: always ports: - "9001:9000" volumes: - "./etc/php/php.ini:/opt/bitnami/php/etc/conf.d/php.ini" - "./Website:/app" - "./etc/logs/php:/opt/bitnami/php/log" depends_on: - nginx volumes: mariadb_data: driver: local ghost_data: driver: local