基于上游 cloudreve/cloudreve 社区版源码构建的 Cloudreve 4 单容器镜像。
镜像内已包含这些常见运行时组件:
aria2ffmpeg / ffprobelibvipsLibreOffice这意味着你可以直接用它部署 Cloudreve,也可以配合 PostgreSQL 和 Redis 组成完整基础栈。
如果你只想先跑起来一个可用实例,可以直接单容器启动。未额外配置数据库时,Cloudreve 会使用 SQLite。
IMAGE=xtulnx/cloudreve:v4
docker run -d \
--name cloudreve \
--restart unless-stopped \
-p 5212:5212 \
-p 6888:6888 \
-p 6888:6888/udp \
-e TZ=Asia/Shanghai \
-v "$(pwd)/cloudreve-data:/cloudreve/data" \
"$IMAGE"
启动后访问 http://localhost:5212 完成初始化。首个注册账号会成为管理员。
生产环境更适合把 Cloudreve、PostgreSQL 和 Redis 一起部署。这个目录已经提供了可直接使用的 Compose 示例。
CLOUDREVE_IMAGE 改成你要使用的镜像标签。POSTGRES_PASSWORD。cd cloudreve
cp compose.env.example compose.env
docker compose --env-file compose.env up -d
compose.env 可以从下面这个最小示例开始:
TZ=Asia/Shanghai
POSTGRES_PASSWORD=change-me
CLOUDREVE_IMAGE=xtulnx/cloudreve:v4
对应的 docker-compose.yml 示例:
services:
cloudreve:
image: ${CLOUDREVE_IMAGE:-local/cloudreve:4.15.0}
build:
context: .
container_name: cloudreve
depends_on:
postgresql:
condition: service_started
redis:
condition: service_started
restart: unless-stopped
environment:
TZ: ${TZ:-Asia/Shanghai}
CR_CONF_Database.Type: postgres
CR_CONF_Database.Host: postgresql
CR_CONF_Database.Port: 5432
CR_CONF_Database.User: cloudreve
CR_CONF_Database.Password: ${POSTGRES_PASSWORD:-change-me}
CR_CONF_Database.Name: cloudreve
CR_CONF_Redis.Server: redis:6379
ports:
- "5212:5212"
- "6888:6888"
- "6888:6888/udp"
volumes:
- backend_data:/cloudreve/data
postgresql:
image: ${POSTGRES_IMAGE:-postgres:17}
container_name: postgresql
restart: unless-stopped
environment:
POSTGRES_USER: cloudreve
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-change-me}
POSTGRES_DB: cloudreve
volumes:
- database_postgres:/var/lib/postgresql/data
redis:
image: ${REDIS_IMAGE:-redis:7-alpine}
container_name: redis
restart: unless-stopped
volumes:
- redis_data:/data
volumes:
backend_data:
database_postgres:
redis_data:
如果你只想使用已经发布好的镜像,而不是在本地重新构建,请保留 image:,并删除 build: 这一段。
默认会暴露这些端口:
5212:Cloudreve Web 服务6888/tcp:Aria26888/udp:Aria2请至少持久化 /cloudreve/data。这个目录会保存:
如果你使用 Compose 示例,还会额外创建 PostgreSQL 和 Redis 的数据卷。
TZ:容器时区,例如 Asia/Shanghai。如果你不想使用 SQLite,可以在启动容器时传入这些环境变量:
CR_CONF_Database.Type=postgresCR_CONF_Database.Host=<db-host>CR_CONF_Database.Port=5432CR_CONF_Database.User=<db-user>CR_CONF_Database.Password=<db-password>CR_CONF_Database.Name=<db-name>示例:
IMAGE=xtulnx/cloudreve:v4
docker run -d \
--name cloudreve \
--restart unless-stopped \
-p 5212:5212 \
-p 6888:6888 \
-p 6888:6888/udp \
-e TZ=Asia/Shanghai \
-e CR_CONF_Database.Type=postgres \
-e CR_CONF_Database.Host=postgresql \
-e CR_CONF_Database.Port=5432 \
-e CR_CONF_Database.User=cloudreve \
-e CR_CONF_Database.Password=change-me \
-e CR_CONF_Database.Name=cloudreve \
-e CR_CONF_Redis.Server=redis:6379 \
-v "$(pwd)/cloudreve-data:/cloudreve/data" \
"$IMAGE"
/cloudreve/data。Content type
Image
Digest
sha256:bc108181d…
Size
399.8 MB
Last updated
5 months ago
docker pull xtulnx/cloudreve:v4