pydio/docker-compose.yml

105 lines
2.6 KiB
YAML

version: '3.9'
volumes:
cells_data: {}
mysql_data: {}
etcd_data: {}
caddy_data: {}
caddy_logs: {}
caddy_config: {}
services:
# MySQL DB
mysql:
image: mysql:8.0.32
restart: unless-stopped
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]
# Mongo DB
mongo:
image: mongo:6.0.4
restart: unless-stopped
expose: [27017]
# Nats events broker
nats:
image: nats:2.9.15
expose:
- 4222
- 8222
#for verbose, use "--http_port 8222 -V"
command: "--http_port 8222"
redis:
image: redis:7.0.9
hostname: redis
expose: [6379]
minio:
image: quay.io/minio/minio
command: server --console-address ":9001" /data
hostname: minio
environment:
MINIO_ROOT_USER: ${MINIO_ROOT_USER}
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
expose:
- 9000
ports:
- "9001:9001"
volumes:
- cells_data:/data
createbuckets:
image: minio/mc:RELEASE.2023-02-28T00-12-59Z
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;
"
cells:
image: pydio/cells:4.1
restart: unless-stopped
hostname: 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_EXTERNAL=http://localhost
- 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:ro
# Caddy reverse proxy, exposed as self-signed on port 445
caddy:
image: caddy:2.6.4-alpine
ports: ["8080:8080"]
restart: unless-stopped
volumes:
- ./conf/Caddyfile:/etc/caddy/Caddyfile
- caddy_logs:/var/caddy/logs
- caddy_data:/data
- caddy_config:/config