From e5ad681bd386bde4202be00ec62a4f237bd9cab9 Mon Sep 17 00:00:00 2001 From: Aaron Liu Date: Tue, 24 Feb 2026 15:30:46 +0800 Subject: [PATCH] Init with default docker compose file --- .env.example | 6 ++++++ .gitignore | 1 + README.md | 3 +++ docker-compose.fts.yml | 35 ++++++++++++++++++++++++++++++++ docker-compose.pro.yml | 15 ++++++++++++++ docker-compose.yml | 46 ++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 106 insertions(+) create mode 100644 .env.example create mode 100644 .gitignore create mode 100644 README.md create mode 100644 docker-compose.fts.yml create mode 100644 docker-compose.pro.yml create mode 100644 docker-compose.yml diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..822fc82 --- /dev/null +++ b/.env.example @@ -0,0 +1,6 @@ +# Pro edition only: license key from https://cloudreve.org/login +#CR_LICENSE_KEY= + +# Full-text search only: Meilisearch master key +# Generate with: openssl rand -hex 32 +#MEILI_MASTER_KEY= diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c49bd7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.env diff --git a/README.md b/README.md new file mode 100644 index 0000000..0f40b15 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Cloudreve Docker Compoase + +Please refer to https://docs.cloudreve.org/zh/overview/deploy/docker-compose diff --git a/docker-compose.fts.yml b/docker-compose.fts.yml new file mode 100644 index 0000000..7c6f7e0 --- /dev/null +++ b/docker-compose.fts.yml @@ -0,0 +1,35 @@ +# Full-text search addon: Apache Tika + Meilisearch +# +# Usage: +# Community: +# docker compose -f docker-compose.yml -f docker-compose.fts.yml up -d +# Pro: +# docker compose -f docker-compose.yml -f docker-compose.pro.yml -f docker-compose.fts.yml up -d +# +# Set MEILI_MASTER_KEY in .env or export it as an environment variable. +# Generate one with: openssl rand -hex 32 + +services: + cloudreve: + depends_on: + tika: + condition: service_started + meilisearch: + condition: service_started + + tika: + image: apache/tika:latest + container_name: tika + restart: unless-stopped + + meilisearch: + image: getmeili/meilisearch:latest + container_name: meilisearch + restart: unless-stopped + environment: + - MEILI_MASTER_KEY=${MEILI_MASTER_KEY} + volumes: + - meili_data:/meili_data + +volumes: + meili_data: diff --git a/docker-compose.pro.yml b/docker-compose.pro.yml new file mode 100644 index 0000000..d94e62f --- /dev/null +++ b/docker-compose.pro.yml @@ -0,0 +1,15 @@ +# Pro edition override: apply on top of docker-compose.yml +# +# Usage: +# docker compose -f docker-compose.yml -f docker-compose.pro.yml up -d +# +# Prerequisites: +# 1. Log in to the Pro image registry: +# docker login -u -p cloudreve.azurecr.io +# 2. Set CR_LICENSE_KEY in .env or export it as an environment variable. + +services: + cloudreve: + image: cloudreve.azurecr.io/cloudreve/pro:v4 + environment: + - CR_LICENSE_KEY=${CR_LICENSE_KEY} diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..461a3c0 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,46 @@ +services: + cloudreve: + image: cloudreve/cloudreve:v4 + container_name: cloudreve + depends_on: + postgresql: + condition: service_started + redis: + condition: service_started + restart: unless-stopped + ports: + - 5212:5212 + - 6888:6888 + - 6888:6888/udp + environment: + - CR_CONF_Database.Type=postgres + - CR_CONF_Database.Host=postgresql + - CR_CONF_Database.User=cloudreve + - CR_CONF_Database.Name=cloudreve + - CR_CONF_Database.Port=5432 + - CR_CONF_Redis.Server=redis:6379 + volumes: + - backend_data:/cloudreve/data + + postgresql: + image: postgres:17 + container_name: postgresql + restart: unless-stopped + environment: + - POSTGRES_USER=cloudreve + - POSTGRES_DB=cloudreve + - POSTGRES_HOST_AUTH_METHOD=trust + volumes: + - database_postgres:/var/lib/postgresql/data + + redis: + image: redis:latest + container_name: redis + restart: unless-stopped + volumes: + - redis_data:/data + +volumes: + backend_data: + database_postgres: + redis_data: