version: "3" 
volumes: 
  nextcloud-data: 
  nextcloud-db: 
  npm-data: 
  npm-ssl: 
  npm-db: 
networks: 
  frontend: 
  backend: 
services: 
  nextcloud-app: 
    image: 45cloud:latest 
    restart: always 
    volumes: 
      - nextcloud-data:/var/www/html 
    environment: 
      - MYSQL_PASSWORD=thisisjustatest 
      - MYSQL_DATABASE=nextcloud 
      - MYSQL_USER=nextcloud 
      - MYSQL_HOST=nextcloud-db 
      - PHP_UPLOAD_LIMIT=200G 
    networks: 
      - frontend
      - backend 
  nextcloud-db: 
    image: mariadb:10.5 
    restart: always 
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW 
    volumes: 
      - nextcloud-db:/var/lib/mysql 
    environment: 
      - MYSQL_ROOT_PASSWORD=thisisjustatest 
      - MYSQL_PASSWORD=thisisjustatest 
      - MYSQL_DATABASE=nextcloud 
      - MYSQL_USER=nextcloud 
      - OVERWRITEPROTOCOL=https 
    networks: 
      - backend 
  npm-app: 
    image: jc21/nginx-proxy-manager:2.9.19 
    restart: always 
    ports: 
      - "80:80" 
      - "81:81" 
      - "443:443" 
      - "8900:8900" 
      - "32400:32400" 
      - "2283:2283" 
    environment: 
      - DB_MYSQL_HOST=npm-db 
      - DB_MYSQL_PORT=3306 
      - DB_MYSQL_USER=npm 
      - DB_MYSQL_PASSWORD=thisisjustatest 
      - DB_MYSQL_NAME=npm 
    volumes: 
      - npm-data:/data 
      - npm-ssl:/etc/letsencrypt 
    networks: 
      - frontend 
      - backend 
  npm-db: 
      image: jc21/mariadb-aria:latest 
      restart: always 
      environment: 
        - MYSQL_ROOT_PASSWORD=thisisjustatest 
        - MYSQL_DATABASE=npm 
        - MYSQL_USER=npm 
        - MYSQL_PASSWORD=thisisjustatest 
      volumes: 
        - npm-db:/var/lib/mysql 
      networks: 
        - backend