version: '3.8' services: app: build: context: . dockerfile: Dockerfile container_name: liquid_chat_app restart: unless-stopped working_dir: /var/www/html volumes: - ./:/var/www/html - ./uploads:/var/www/html/uploads - ./storage:/var/www/html/storage - ./logs:/var/www/html/logs networks: - liquid_network depends_on: - db web: image: nginx:alpine container_name: liquid_chat_web restart: unless-stopped ports: - "8080:80" volumes: - ./:/var/www/html - ./docker/nginx.conf:/etc/nginx/conf.d/default.conf:ro networks: - liquid_network depends_on: - app db: image: mariadb:10.11 container_name: liquid_chat_db restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-root_secret_change_me} MYSQL_DATABASE: ${DB_NAME:-liquid_chat} MYSQL_USER: ${DB_USER:-liquid_user} MYSQL_PASSWORD: ${DB_PASSWORD:-liquid_pass_change_me} volumes: - db_data:/var/lib/mysql - ./database_complete.sql:/docker-entrypoint-initdb.d/init.sql:ro networks: - liquid_network networks: liquid_network: driver: bridge volumes: db_data: