# docker-compose.yml services: db: image: mariadb:11 container_name: nextcloud-db restart: unless-stopped command: [ "mariadbd", "--transaction-isolation=READ-COMMITTED", "--binlog-format=ROW", "--innodb_read_only_compressed=OFF" ] env_file: - .env environment: - MYSQL_DATABASE=${NEXTCLOUD_DB_NAME} - MYSQL_USER=${NEXTCLOUD_DB_USER} - MYSQL_PASSWORD=${NEXTCLOUD_DB_PASSWORD} - MYSQL_ROOT_PASSWORD=${NEXTCLOUD_DB_ROOT_PASSWORD} volumes: - db_data:/var/lib/mysql networks: - nextcloud-net app: image: nextcloud:29-apache container_name: nextcloud-app restart: unless-stopped env_file: - .env environment: - MYSQL_HOST=db - MYSQL_DATABASE=${NEXTCLOUD_DB_NAME} - MYSQL_USER=${NEXTCLOUD_DB_USER} - MYSQL_PASSWORD=${NEXTCLOUD_DB_PASSWORD} - NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN_USER} - NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD} - NEXTCLOUD_TRUSTED_DOMAINS=nxt.bhatfamily.in - NEXTCLOUD_OVERWRITEHOST=nxt.bhatfamily.in:8446 - NEXTCLOUD_OVERWRITEPROTOCOL=https depends_on: - db volumes: - nextcloud_data:/var/www/html networks: - nextcloud-net web: image: nginx:1.25-alpine container_name: nextcloud-web restart: unless-stopped ports: - "8082:80" - "8446:443" volumes: - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro - ./nginx/ssl:/etc/nginx/ssl:ro - nextcloud_data:/var/www/html:ro depends_on: - app networks: - nextcloud-net volumes: db_data: nextcloud_data: networks: nextcloud-net: driver: bridge