services:
  db:
    image: mariadb:10.6
    restart: unless-stopped
    volumes:
      - nextcloud-db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
      - MYSQL_PASSWORD=${MYSQL_PASSWORD}
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
    networks:
      - default

  app:
    image: nextcloud:latest
    restart: unless-stopped
    depends_on:
      - db
    volumes:
      - nextcloud-config:/var/www/html/config
      - nextcloud-data:/var/www/html/data
    environment:
      - MYSQL_PASSWORD=${MYSQL_PASSWORD}
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db
      - TRUSTED_PROXIES=nginx,172.18.0.0/16
      - OVERWRITEPROTOCOL=https
      - OVERWRITEHOST=${NEXTCLOUD_DOMAIN}
    networks:
      - default
      - web

volumes:
  nextcloud-db:
  nextcloud-config:
  nextcloud-data:

networks:
  default:
  web:
    external: true