version: '3.9' volumes: cells_dir: name: pydio_cells_dir mysql_data: name: pydio_mysql_data caddy_data: name: pydio_caddy_data caddy_logs: name: pydio_caddy_logs caddy_config: name: pydio_caddy_config networks: pydio-network: name: pydio_network services: # MySQL DB mysql: image: mysql:8.0.32 container_name: pydio_mysql restart: unless-stopped expose: [3306] volumes: - mysql_data:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=cells - MYSQL_DATABASE=cells - MYSQL_USER=${MYSQL_DB_USER} - MYSQL_PASSWORD=${MYSQL_DB_PASSWORD} command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci] networks: - pydio-network # Mongo DB mongo: image: mongo:6.0.4 container_name: pydio_mongo restart: unless-stopped expose: ["27017"] networks: - pydio-network # Nats events broker nats: image: nats:2.9.15 container_name: pydio_nats restart: unless-stopped expose: - "4222" - "8222" #for verbose, use "--http_port 8222 -V" command: "--http_port 8222" networks: - pydio-network redis: image: redis:7.0.9 container_name: pydio_redis hostname: redis restart: unless-stopped expose: ["6379"] networks: - pydio-network minio: image: minio/minio:RELEASE.2023-02-27T18-10-45Z command: [ "server", "/data", "--console-address", ":9001" ] restart: unless-stopped container_name: pydio_minio hostname: minio environment: MINIO_ROOT_USER: ${MINIO_ROOT_USER} MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD} expose: - "9000" ports: - "9001:9001" volumes: - ${MINIO_STORE_DATA}:/data networks: - pydio-network createbuckets: image: minio/mc:RELEASE.2023-02-28T00-12-59Z container_name: pydio_create_buckets depends_on: - minio entrypoint: > /bin/sh -c " /usr/bin/mc config host add myminio http://minio:9000 ${MINIO_ROOT_USER} ${MINIO_ROOT_PASSWORD}; /usr/bin/mc mb myminio/pydiods1; /usr/bin/mc mb myminio/personal; /usr/bin/mc mb myminio/cellsdata; /usr/bin/mc mb myminio/thumbs; /usr/bin/mc mb myminio/versions; /usr/bin/mc mb myminio/binaries; exit 0; " networks: - pydio-network cells: image: pydio/cells:4.1.1 restart: unless-stopped hostname: cells container_name: pydio_cells expose: [80] environment: - CELLS_WORKING_DIR=/var/cells - CELLS_BROKER=nats://nats:4222 - CELLS_CACHE=redis://redis:6379 - CELLS_BIND=0.0.0.0:80 - CELLS_SITE_EXTERNAL=https://${PUBLIC_FQDN} - CELLS_NO_TLS=1 - CELLS_INSTALL_YAML=/pydio/config/install.yml - INSTALL_MYSQL_DB_USER=${MYSQL_DB_USER} - INSTALL_MYSQL_DB_PASSWORD=${MYSQL_DB_PASSWORD} - INSTALL_MINIO_ROOT_USER=${MINIO_ROOT_USER} - INSTALL_MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD} volumes: - ./conf/install-conf.yml:/pydio/config/install.yml - cells_dir:/var/cells networks: - pydio-network # Caddy reverse proxy, exposed as self-signed on port 445 caddy: image: caddy:2.6.4-alpine container_name: pydio_caddy ports: ["8080:8080"] restart: unless-stopped volumes: - ./conf/Caddyfile:/etc/caddy/Caddyfile - caddy_logs:/var/caddy/logs - caddy_data:/data - caddy_config:/config networks: - pydio-network