template(cloudreve): Add Cloudreve service template#6456
template(cloudreve): Add Cloudreve service template#6456hassankhan2608 wants to merge 4 commits intocoollabsio:v4.xfrom
Conversation
This commit introduces a new one-click service template for Cloudreve, a self-hosted file management and sharing system. Cloudreve allows you to build a private or public cloud storage service and supports various storage providers. The template includes the following features: - Defines specific service names (`cloudreve-db`, `cloudreve-redis`) to avoid conflicts. - Includes health checks for the Cloudreve application, PostgreSQL database, and Redis cache to ensure service reliability. - Uses Coolify's magic variables for database credentials and other secrets, making it easy to deploy with one click. Official Website: https://cloudreve.org/ Documentation: https://docs.cloudreve.org/
| volumes: | ||
| backend_data: | ||
| cloudreve-db-data: | ||
| cloudreve-redis-data: |
There was a problem hiding this comment.
These can be removed since Coolify already adds them automatically
|
|
||
| cloudreve-redis: | ||
| image: redis:latest | ||
| container_name: cloudreve-redis |
There was a problem hiding this comment.
container name can be removed since coolify automatically adds them based on service name
| services: | ||
| cloudreve: | ||
| image: cloudreve/cloudreve:latest | ||
| container_name: cloudreve-backend |
There was a problem hiding this comment.
container name can be removed since coolify automatically adds them based on service name
|
|
||
| cloudreve-db: | ||
| image: postgres:17 | ||
| container_name: cloudreve-db |
There was a problem hiding this comment.
container name can be removed since coolify automatically adds them based on service name
|
It would be great if you could sent a PR to add this service to the docs. Docs repo: https://github.com/coollabsio/coolify-docs A sample PR for adding service to docs: coollabsio/coolify-docs#356 |
|
Also you have to PR to |
📝 WalkthroughSummary by CodeRabbit
WalkthroughReorganizes CHANGELOG.md entries and adds a new Docker Compose template for Cloudreve with Postgres and Redis services, environment variables, volumes, healthchecks, and service dependencies. No code logic changes or public API alterations. I’ll be back—with YAML. Hasta la vista, serverless. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Operator as Operator
participant Compose as Docker Compose
participant App as cloudreve
participant DB as cloudreve-db (Postgres 17)
participant Cache as cloudreve-redis (Redis)
Operator->>Compose: docker compose up -d
Compose->>DB: Start container
Compose->>Cache: Start container
DB-->>Compose: Healthcheck pg_isready OK
Cache-->>Compose: Healthcheck redis-cli PING OK
Compose->>App: Start container (env CR_CONF_*, volumes)
App->>DB: Connect via POSTGRES_* creds
App->>Cache: Connect via REDIS_* creds
App-->>Operator: Service ready on exposed port
note over App,DB: If DB/Redis unhealthy, App waits (depends_on) before start
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
⛔ Files ignored due to path filters (1)
public/svgs/cloudreve.svgis excluded by!**/*.svg
📒 Files selected for processing (2)
CHANGELOG.md(4 hunks)templates/compose/cloudreve.yaml(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
CHANGELOG.md
📄 CodeRabbit inference engine (.cursor/rules/development-workflow.mdc)
Update CHANGELOG.md with release notes during the release process
Files:
CHANGELOG.md
🧠 Learnings (2)
📓 Common learnings
Learnt from: CR
PR: coollabsio/coolify#0
File: .cursor/rules/development-workflow.mdc:0-0
Timestamp: 2025-08-27T15:01:58.710Z
Learning: Applies to docker-compose.dev.yml : Maintain development Docker services and volumes in docker-compose.dev.yml for local environment parity
📚 Learning: 2025-08-27T15:01:58.710Z
Learnt from: CR
PR: coollabsio/coolify#0
File: .cursor/rules/development-workflow.mdc:0-0
Timestamp: 2025-08-27T15:01:58.710Z
Learning: Applies to docker-compose.dev.yml : Maintain development Docker services and volumes in docker-compose.dev.yml for local environment parity
Applied to files:
templates/compose/cloudreve.yaml
| - "POSTGRES_USER=$SERVICE_USER_POSTGRESQL" | ||
| - "POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRESQL" | ||
| - POSTGRES_DB=${POSTGRES_DB:-cloudreve} | ||
| - POSTGRES_HOST_AUTH_METHOD=trust |
There was a problem hiding this comment.
Hasta la vista, database security.
Setting POSTGRES_HOST_AUTH_METHOD=trust lets anything on the internal network stroll into Postgres without a password, so the fancy credentials we generate are ignored. Drop this override and let the container enforce password auth, otherwise one rogue service turns your shiny self-hosted stack into Skynet’s buffet.
🤖 Prompt for AI Agents
In templates/compose/cloudreve.yaml around lines 37 to 40, the compose file
forces Postgres into insecure "trust" auth which bypasses the
POSTGRES_USER/POSTGRES_PASSWORD; remove the line setting
POSTGRES_HOST_AUTH_METHOD=trust and leave POSTGRES_USER, POSTGRES_PASSWORD and
POSTGRES_DB to be respected by the image (or document a secure alternative like
pg_hba.conf overrides if you truly need network-wide access), ensuring the
container enforces password authentication instead of trust.
|
Created new PR to next branch #6774 with all revised changes |
This pull request introduces a new one-click service template for Cloudreve, a powerful and popular self-hosted file management and sharing system.
What is Cloudreve?
Cloudreve is a feature-rich application that allows users to build their own private or public cloud storage service. Its key features include:
Adding Cloudreve to the official service templates will make it incredibly easy for Coolify users to deploy and manage their own personal cloud storage solution.
Template Configuration
The provided
docker-compose.ymlfor Cloudreve is configured with the following best practices:SERVICE_URL: For the public-facing URL, ensuring consistency with other Coolify services.cloudreve-dbandcloudreve-redisto prevent naming conflicts with other services.File Changes
templates/compose/cloudreve.yaml- The Docker Compose file for the Cloudreve service.public/svgs/cloudreve.svg- The SVG logo for the Cloudreve service.