云平台与部署

June 24, 2026 · View on GitHub

本文档整合了以下源文件:cloud.md, cloud2.md, paas.md, coolify.md, aws.md


来源:cloud.md

简介

Cloudreve 是一个开源的自托管云存储平台,支持多种存储提供商。它提供 Web 界面用于文件管理、共享和协作。本教程涵盖设置、存储配置、用户管理和高级功能。

架构

组件技术用途
后端GoAPI 服务器和业务逻辑
前端ReactWeb 界面
数据库SQLite/MySQL/PostgreSQL用户和文件元数据
存储本地/S3/OSS/OneDrive文件存储后端
队列内置后台任务

安装

Docker Compose

version: "3"
services:
  cloudreve:
    image: cloudreve/cloudreve:latest
    ports:
      - "5212:5212"
    volumes:
      - cloudreve_data:/cloudreve/data
      - cloudreve_uploads:/cloudreve/uploads
    environment:
      - CR_CONF_DB_TYPE=sqlite
    restart: unless-stopped
volumes:
  cloudreve_data:
  cloudreve_uploads:

二进制安装

# 下载最新版本
wget https://github.com/cloudreve/Cloudreve/releases/latest/download/cloudreve_linux_amd64.tar.gz
tar -xzf cloudreve_linux_amd64.tar.gz
chmod +x cloudreve

# 运行
./cloudreve

Systemd 服务

[Unit]
Description=Cloudreve
After=network.target

[Service]
Type=simple
ExecStart=/opt/cloudreve/cloudreve
WorkingDirectory=/opt/cloudreve
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

存储策略

支持的后端

后端协议使用场景
本地文件系统小型部署
Amazon S3S3 API可扩展存储
阿里云 OSSS3 兼容中国云
腾讯 COSS3 兼容中国云
七牛S3 兼容中国云
OneDriveMicrosoft Graph个人/团队存储
远程自定义 API自定义后端

配置本地存储

  1. 导航到 Dashboard > Storage Policies。
  2. 点击"Create New Policy"。
  3. 选择"Local"作为后端。
  4. 设置存储路径(例如 /data/uploads)。
  5. 设置上传大小限制和允许的扩展名。
  6. 保存策略。

配置 S3 存储

设置描述示例
Bucket NameS3 存储桶cloudreve-storage
RegionAWS 区域us-east-1
EndpointS3 端点https://s3.amazonaws.com
Access KeyIAM 访问密钥AKIAIOSFODNN7EXAMPLE
Secret KeyIAM 密钥wJalrXUtnFEMI/K7MDENG
Base URL公共 URLhttps://cdn.example.com

S3 策略 JSON

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:DeleteObject"
      ],
      "Resource": "arn:aws:s3:::cloudreve-storage/*"
    },
    {
      "Effect": "Allow",
      "Action": "s3:ListBucket",
      "Resource": "arn:aws:s3:::cloudreve-storage"
    }
  ]
}

用户管理

用户组

权限使用场景
Admin完全系统控制管理员
Default标准文件操作普通用户
VIP扩展存储和功能高级用户
匿名有限的公共访问访客下载

组设置

设置描述
存储配额每用户最大存储
最大文件大小单文件上传限制
速度限制上传/下载速度上限
允许的扩展名允许的文件类型
共享设置公共链接选项

创建用户

方法步骤
手动Dashboard > Users > Create User
注册在设置中启用自注册
导入通过 CSV 批量导入

文件管理

Web 界面功能

功能描述
上传拖拽或点击上传
下载单文件或批量下载
预览图片、视频、音频、文档预览
重命名重命名文件和文件夹
移动在文件夹间移动
复制复制文件
删除移至回收站或永久删除
搜索全文文件名搜索

WebDAV 访问

Cloudreve 支持 WebDAV 用于挂载为网络驱动器。

URL: https://cloudreve.example.com/dav/
Username: your-email@example.com
Password: your-password

macOS 挂载

mount_webdav -s -v CloudDrive https://cloudreve.example.com/dav/ /Volumes/CloudDrive

Linux 挂载

# 安装 davfs2
sudo apt install davfs2

# 挂载
sudo mount -t davfs https://cloudreve.example.com/dav/ /mnt/cloudreve

共享

共享类型

类型描述安全性
公共链接任何有链接的人都能访问可选密码
过期链接超时后自动过期限时
用户共享与特定用户共享用户认证
文件夹共享共享整个文件夹文件夹级访问

共享设置

设置描述
密码用密码保护
过期设置链接过期日期
下载限制最大下载次数
仅预览允许预览但不允许下载

创建共享

  1. 选择文件或文件夹。
  2. 点击工具栏中的"Share"。
  3. 配置设置(密码、过期)。
  4. 复制共享链接。

相册和图库

图片图库功能

功能描述
创建相册将图片分组到相册
缩略图生成自动生成预览图
EXIF 提取显示照片元数据
幻灯片按顺序查看图片
公共图库公开分享相册

通知

通知类型

类型触发渠道
上传完成文件上传成功应用内
共享创建生成新共享链接邮箱
存储警告配额即将满邮箱
系统更新新版本可用应用内

任务队列

后台任务

任务描述状态
缩略图生成创建图片预览异步
文件解压解压归档异步
远程下载从 URL 下载异步
存储迁移在后端间移动文件异步

API 访问

REST API

端点方法描述
/api/v3/user/loginPOST用户认证
/api/v3/file/uploadPOST上传文件
/api/v3/file/listGET列出目录内容
/api/v3/file/download/{id}GET下载文件
/api/v3/share/createPOST创建共享链接
/api/v3/directory/createPOST创建文件夹

认证

# 登录并获取会话 cookie
curl -X POST https://cloudreve.example.com/api/v3/user/login \
  -H "Content-Type: application/json" \
  -d '{"username": "user@example.com", "password": "password"}'

自定义

站点设置

设置描述
站点名称显示名称
站点描述SEO 描述
Logo自定义 logo 图片
Favicon浏览器标签图标
注册启用/禁用自注册
默认语言界面语言

自定义主题

通过 CSS 覆盖修改前端外观。

反向代理

Nginx 配置

server {
    listen 443 ssl;
    server_name cloud.example.com;

    ssl_certificate /etc/letsencrypt/live/cloud.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/cloud.example.com/privkey.pem;

    client_max_body_size 1000M;

    location / {
        proxy_pass http://localhost:5212;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

备份

备份策略

组件方法频率
数据库mysqldump/pg_dump/sqlite 复制每日
上传文件rsync 或 rclone每日
配置文件复制每周
存储策略文件存储原生复制持续

故障排除

问题解决方案
上传失败检查文件大小限制和存储配额
上传缓慢验证网络和反向代理限制
预览不工作安装 LibreOffice 用于文档预览
WebDAV 错误检查认证和代理配置
存储后端错误验证凭证和权限

总结

Cloudreve 提供了完整的自托管云存储解决方案,支持多种后端、WebDAV 访问、文件共享和简洁的 Web 界面。使用 Docker 部署,配置本地或 S3 兼容后端的存储策略,通过管理仪表板管理用户。它是商业云存储服务的实用替代方案。


来源:cloud2.md

目录

  1. Nextcloud 简介
  2. 安装方式
  3. 初始配置
  4. 文件管理
  5. 应用与扩展
  6. 协作功能
  7. 安全加固
  8. 管理

简介

Nextcloud 是一个自托管的生产力平台,让你完全掌控自己的数据。它提供与商业云服务相当的文件同步、分享和协作工具。

Nextcloud 核心功能

功能描述好处
文件同步跨设备同步随处访问
分享内部和外部便捷协作
日历CalDAV 日历日程管理
联系人CardDAV 联系人联系人管理
Talk视频会议团队沟通

Nextcloud vs 商业服务

功能NextcloudGoogle DriveDropbox
自托管
数据控制完全有限有限
成本免费 (OSS)订阅订阅
隐私符合 GDPR数据挖掘数据挖掘
可扩展300+ 应用有限有限

系统要求

组件最低推荐
CPU1 核2+ 核
内存512MB2GB+
存储10GB100GB+
PHP8.08.2
数据库SQLiteMySQL/PostgreSQL

安装方式

Nextcloud 可以通过多种方式安装,取决于你的环境。

Docker 安装

# docker-compose.yml
version: '3'
services:
  nextcloud:
    image: nextcloud:latest
    ports:
      - 8080:80
    volumes:
      - nextcloud:/var/www/html
      - ./data:/var/www/html/data
    environment:
      - MYSQL_HOST=db
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=secret
      - NEXTCLOUD_ADMIN_USER=admin
      - NEXTCLOUD_ADMIN_PASSWORD=admin_password
    depends_on:
      - db
  
  db:
    image: mysql:8
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=root_password
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=secret

volumes:
  nextcloud:
  db:

Web 安装器

步骤操作备注
1下载nextcloud.com/install
2解压到 Web 根目录
3设置权限www-data 所有权
4运行向导浏览器设置

Snap 安装

# Ubuntu/Debian
sudo snap install nextcloud

手动安装步骤

步骤操作命令/配置
1安装 PHPapt install php8.2
2安装扩展ctype, curl, dom...
3安装数据库MySQL 或 PostgreSQL
4下载 Nextcloud解压到 Web 根目录
5配置 Web 服务器Apache 或 Nginx
6运行安装器浏览器向导

初始配置

配置 Nextcloud 以获得最佳性能和安全性。

基本设置

设置位置推荐值
域名config.php你的域名
可信域名config.php添加所有域名
默认语言管理设置用户偏好
时区管理设置服务器时区

config.php 关键设置

<?php
$CONFIG = array (
  'trusted_domains' => array (
    0 => 'localhost',
    1 => 'cloud.example.com',
  ),
  'datadirectory' => '/var/www/nextcloud/data',
  'dbtype' => 'mysql',
  'version' => '28.0.0',
  'overwrite.cli.url' => 'https://cloud.example.com',
  'htaccess.RewriteBase' => '/',
);

数据库配置

数据库优点缺点
SQLite简单设置不适合生产
MySQL广泛使用资源消耗
PostgreSQL高级功能略复杂
MariaDBMySQL 兼容推荐

PHP 配置

设置推荐值位置
memory_limit512Mphp.ini
upload_max_filesize16Gphp.ini
post_max_size16Gphp.ini
max_execution_time3600php.ini

文件管理

Nextcloud 提供全面的文件管理功能。

上传方式

方式描述限制
Web UI浏览器上传文件大小限制
桌面客户端自动同步存储空间
移动应用手动/自动上传网络速度
WebDAV直接协议客户端支持
CLIOCC 命令服务器访问

文件操作

操作Web UI桌面移动
上传自动
下载自动
分享
删除
移动
版本历史

存储配置

后端描述用途
本地服务器磁盘主存储
S3对象存储可扩展存储
SMB/CIFS网络共享企业
ExternalFTP, SFTP旧系统

配额管理

设置范围配置
默认配额所有用户管理设置
用户配额个人用户设置
群组配额群组群组设置

应用与扩展

Nextcloud 拥有丰富的应用生态系统来扩展功能。

必备应用

应用类别描述
Calendar生产力CalDAV 日历
Contacts生产力CardDAV 联系人
Talk通信视频通话、聊天
Mail通信邮件客户端
Deck项目管理看板

办公与文档

应用描述格式
Collabora Online办公套件DOC, XLS, PPT
OnlyOffice办公套件DOC, XLS, PPT
TextMarkdown 编辑器MD, TXT
Markdown EditorMD 编辑MD 文件

媒体与文件

应用描述功能
Photos照片库相册、分享
Music音频播放器串流
Preview Generator缩略图图片预览
Files PDF viewerPDF 查看浏览器内

安装应用

步骤操作位置
1打开应用管理菜单
2浏览分类已启用/已禁用
3搜索搜索栏
4安装点击安装
5启用开关打开

应用管理

操作命令效果
列出应用occ app:list显示已安装
启用occ app:enable <app>激活
禁用occ app:disable <app>停用
更新occ app:update <app>获取最新

协作功能

Nextcloud 在团队协作和沟通方面表现出色。

文件分享

分享类型描述权限
内部用户或群组读、写、分享
链接公开 URL读、写、密码
联邦其他 Nextcloud读、写
邮件发送链接读、写

Talk(视频会议)

功能描述容量
视频通话一对一和群组最多 100 用户
屏幕分享分享桌面全屏或应用
聊天文字消息持久化
文件分享通话中分享直接集成

日历功能

功能描述协议
事件创建、编辑、删除CalDAV
重复重复事件RRULE
提醒通知VALARM
分享分享日历内部/外部
导入/导出ICS 文件iCalendar

协作编辑

工具实时格式集成
CollaboraOffice 文档内置
OnlyOfficeOffice 文档插件
TextMarkdown内置
Cryptpad多种插件

安全加固

保护 Nextcloud 安装对数据安全至关重要。

安全清单

项目优先级实施方式
HTTPS关键SSL 证书
强密码关键密码策略
2FATOTP 或 U2F
暴力破解防护内置
安全头中等Web 服务器配置

SSL/TLS 配置

# Nginx SSL configuration
server {
    listen 443 ssl http2;
    server_name cloud.example.com;
    
    ssl_certificate /etc/letsencrypt/live/cloud.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/cloud.example.com/privkey.pem;
    
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
}

双因素认证

方式安全性用户体验
TOTP需要应用
U2F/WebAuthn最高硬件密钥
SMS中等需要手机
Email中等需要邮箱

安全扫描器

分数含义操作
A+优秀保持
A良好小改进
B一般需要安全加固
C 或以下需要立即行动

暴力破解防护

设置默认值推荐
最大尝试次数105
超时30s300s
白名单你的 IP

管理

Nextcloud 的日常管理任务。

用户管理

任务管理 UIOCC 命令
创建用户用户页面occ user:add
删除用户用户页面occ user:delete
设置配额用户页面occ user:setting
禁用用户用户页面occ user:disable

群组管理

任务命令示例
创建群组occ group:addocc group:add developers
添加用户occ group:adduserocc group:adduser john developers
移除用户occ group:removeuserocc group:removeuser john developers
列出群组occ group:list显示所有群组

备份策略

组件方法频率
数据库mysqldump每天
数据目录rsync每天
配置文件复制每周
应用OCC 导出每周

维护命令

命令用途何时使用
occ maintenance:mode --on启用维护模式更新时
occ maintenance:mode --off禁用维护模式更新后
occ files:scan --all重新扫描文件文件丢失时
occ db:add-missing-indices修复数据库性能问题

监控

指标工具阈值
磁盘使用系统工具< 80%
数据库大小OCC 命令监控增长
用户活动管理审计异常模式
性能服务器日志响应时间

总结

主题核心要点
安装推荐 Docker 简化部署
配置PHP 调优对大文件很重要
应用丰富的生产力生态系统
协作内置分享、Talk、日历
安全HTTPS、2FA 和定期更新
管理OCC 命令用于维护

来源:paas.md

简介

Coolify 是一个开源的、自托管的平台即服务(PaaS),简化了在自己的服务器上部署和管理应用程序、数据库和服务的过程。它提供了类似 Heroku 的体验,没有供应商锁定。本教程涵盖设置、部署工作流程和管理功能。

架构

组件技术用途
UISvelteKitWeb 仪表板
AgentGo服务器管理
ProxyTraefik反向代理和 TLS
数据库SQLite/PostgreSQL配置存储
容器Docker应用运行时

安装

一键安装

curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash

Docker Compose

version: "3.7"
services:
  coolify:
    image: coollabs/coolify:latest
    ports:
      - "8000:8000"
    volumes:
      - coolify_data:/app/data
    environment:
      - APP_ID=coolify
      - DB_URL=postgresql://coolify:password@database:5432/coolify
    depends_on:
      - database
  database:
    image: postgres:15-alpine
    environment:
      POSTGRES_DB: coolify
      POSTGRES_USER: coolify
      POSTGRES_PASSWORD: password
    volumes:
      - db_data:/var/lib/postgresql/data
volumes:
  coolify_data:
  db_data:

服务器管理

添加服务器

类型描述设置
本地与 Coolify 同一台机器自动检测
远程 SSH通过 SSH 连接另一台服务器添加 SSH 密钥
VPS云提供商服务器配置并连接

服务器要求

资源最低配置推荐配置
CPU1 核2+ 核
内存1 GB4+ GB
存储20 GB50+ GB
操作系统Ubuntu 22.04Ubuntu 22.04/Debian 12

SSH 密钥设置

# 生成 SSH 密钥
ssh-keygen -t ed25519 -C "coolify@server"

# 复制到远程服务器
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@remote-server

应用部署

部署来源

来源描述配置
Git 仓库从 GitHub/GitLab 部署连接仓库,设置分支
Docker 镜像从注册表部署指定镜像标签
Docker Compose多容器应用上传或粘贴 compose 文件
静态站点HTML/CSS/JS 文件上传或 Git 来源
Nixpacks自动检测构建自动配置

从 Git 部署

步骤操作
1点击"New Resource"
2选择"Application"
3选择"Git Repository"
4连接 GitHub/GitLab 账户
5选择仓库和分支
6配置构建设置
7部署

构建配置

设置描述示例
Build Pack构建方式Nixpacks、Dockerfile、Static
Base Directory源代码子目录/app
Port应用端口3000
Install Command依赖安装npm install
Build Command构建步骤npm run build
Start Command运行时命令npm start

Dockerfile 部署

FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]

Docker Compose 部署

version: "3"
services:
  web:
    build: .
    ports:
      - "3000:3000"
    environment:
      - DATABASE_URL=postgresql://user:pass@db:5432/app
    depends_on:
      - db
  db:
    image: postgres:15
    environment:
      POSTGRES_DB: app
      POSTGRES_USER: user
      POSTGRES_PASSWORD: pass
    volumes:
      - pg_data:/var/lib/postgresql/data
volumes:
  pg_data:

数据库

支持的数据库

数据库版本使用场景
PostgreSQL14、15、16通用
MySQL5.7、8.0Web 应用
MariaDB10.xMySQL 兼容
MongoDB5、6、7文档存储
Redis6、7缓存、会话
CouchDB3.x文档同步
Dragonfly最新Redis 替代

创建数据库

  1. 点击"New Resource"。
  2. 选择"Database"。
  3. 选择数据库类型。
  4. 配置设置(名称、用户、密码)。
  5. 部署。

数据库配置

设置描述
Name数据库名称
User数据库用户名
Password数据库密码
Port外部端口映射
Volume持久数据存储
Extensions附加模块

域名和 SSL

自定义域名设置

  1. 导航到应用设置。
  2. 点击"Domains"。
  3. 添加你的域名(例如 app.example.com)。
  4. 配置 DNS A 记录指向服务器 IP。
  5. Coolify 通过 Let's Encrypt 自动配置 SSL。

域名配置

设置描述示例
Domain主域名app.example.com
www redirect将 www 重定向到非 wwwwww.app.example.com
Force HTTPS将 HTTP 重定向到 HTTPS已启用
Custom SSL上传证书手动配置

通配符域名

用于多租户应用:

*.app.example.com -> application

环境变量

管理环境变量

功能描述
键值对为容器设置变量
构建时构建期间可用
运行时执行期间可用
共享跨服务共享
Secrets加密存储

示例变量

范围
NODE_ENVproduction运行时
DATABASE_URLpostgresql://...运行时
API_KEYsk-xxx构建 + 运行时
PORT3000运行时

扩展和资源

资源限制

设置描述示例
CPU Limit最大 CPU 核数2.0
Memory Limit最大内存512MB
CPU Reservation保证 CPU0.5
Memory Reservation保证内存256MB

水平扩展

# 当你增加实例数时,Coolify 自动配置负载均衡
services:
  web:
    instances: 3  # 运行 3 个副本

监控

内置监控

指标描述访问
CPU 使用率每容器 CPU仪表板
内存使用率每容器内存仪表板
磁盘使用率存储消耗仪表板
网络流入/流出流量仪表板
日志应用输出仪表板

查看日志

  1. 导航到应用。
  2. 点击"Logs"标签。
  3. 查看实时容器日志。
  4. 按时间范围或搜索筛选。

备份

备份配置

组件方法频率
数据库内置备份每日
快照可配置
配置导出手动

数据库备份

# 自动备份到 S3 兼容存储
# 在 Coolify 设置中配置:
# - S3 Endpoint
# - Bucket name
# - Access key
# - Secret key
# - Schedule(cron 表达式)

Webhooks 和 CI/CD

自动部署

触发器描述配置
Git push推送到分支时部署在设置中启用
Pull request部署 PR 预览启用 PR 部署
Webhook手动触发POST 到 webhook URL
定时基于 cron 的重新部署设置计划

GitHub Webhook

{
  "url": "https://coolify.example.com/api/webhooks/deploy/xxx",
  "events": ["push"],
  "active": true
}

服务

一键服务

Coolify 提供预配置的服务。

类别服务
分析Plausible、Umami、Matomo
CMSWordPress、Ghost、Strapi
通信Rocket.Chat、Mattermost
开发工具Gitea、Drone、Portainer
监控Uptime Kuma、Grafana
存储MinIO、Nextcloud

安装服务

  1. 点击"New Resource"。
  2. 选择"Service"。
  3. 从服务目录中选择。
  4. 配置设置。
  5. 部署。

团队和权限

角色权限
Owner完全控制
Admin管理服务器和应用
Member查看和部署分配的应用

API 访问

REST API

# 列出应用
curl -H "Authorization: Bearer TOKEN" \
  https://coolify.example.com/api/v1/applications

# 部署应用
curl -X POST -H "Authorization: Bearer TOKEN" \
  https://coolify.example.com/api/v1/applications/{id}/deploy

故障排除

问题解决方案
构建失败检查构建日志,验证 Dockerfile
SSL 不工作验证 DNS 记录,检查端口 80 访问
数据库连接被拒绝检查网络设置,验证凭证
高资源使用审查资源限制,检查内存泄漏
部署卡住重启 Coolify agent

总结

Coolify 提供了自托管的 PaaS 体验,支持多种部署来源、数据库和服务。它通过简洁的 Web 界面处理 SSL、监控和扩展。从 Git 仓库、Docker 镜像或 Docker Compose 文件部署,从单一仪表板管理一切。


来源:coolify.md

Coolify 综合教程,这是一个开源的自托管平台即服务(PaaS)。在你自己的服务器上部署应用、数据库和服务,获得类似 Heroku 的体验。

目录


什么是 Coolify

概述

Coolify 是 Heroku、Netlify 和 Vercel 的开源自托管替代方案。它运行在你自己的服务器上,提供 Web 界面来部署应用、数据库和服务。

核心特性

特性描述
推送部署从 Git 自动部署
多服务器从一个仪表板管理多个服务器
基于 Docker所有部署运行在 Docker 容器中
SSL 自动化自动 Let's Encrypt 证书
数据库管理PostgreSQL、MySQL、MongoDB、Redis
服务模板一键部署流行应用
团队协作多用户角色访问
APIREST API 用于自动化
Webhooks与外部工具集成
监控内置资源监控
备份自动备份到 S3 等

与替代方案对比

特性CoolifyHerokuVercelRailway
自托管
开源
免费层自托管(免费)已停止有限
数据库
自定义域名
Docker 支持有限
多服务器
无供应商锁定

安装

系统要求

要求最低推荐
CPU1 核2+ 核
RAM2 GB4+ GB
存储20 GB50+ GB
系统Ubuntu 22.04、Debian 12、CentOS 9Ubuntu 22.04 LTS
端口80、443、800080、443、8000

快速安装

# 一键安装命令
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash

手动安装

# 安装 Docker
curl -fsSL https://get.docker.com | bash

# 创建目录
mkdir -p /data/coolify

# 运行 Coolify
docker run -d \
  --name coolify \
  --restart=always \
  -p 8000:8000 \
  -v /data/coolify:/data/coolify \
  -v /var/run/docker.sock:/var/run/docker.sock \
  coollabsio/coolify:latest

安装后步骤

步骤操作详情
1访问 UI打开 http://your-server-ip:8000
2创建账户设置管理员用户
3配置服务器添加第一台服务器
4设置 DNS将域名指向服务器
5添加 SSH 密钥用于 Git 仓库访问

支持的提供商

提供商类型用例
自托管VPS/独立服务器完全控制
Hetzner云 VPS经济实惠的欧洲服务器
DigitalOcean云 VPS易于使用
AWS EC2企业功能
Linode云 VPS对开发者友好
Vultr云 VPS全球位置
任意 SSH 服务器远程现有基础设施

部署应用

部署方式

方式描述最适合
Git 仓库从 GitHub/GitLab 部署CI/CD 工作流
Docker 镜像拉取并运行现有镜像预构建应用
Docker Compose多容器应用复杂方案
静态站点部署 HTML/CSS/JS网站
一键服务预配置模板常见应用

Git 仓库部署

步骤操作
1点击仪表板中的"New Resource"
2选择"Application"
3选择"Public Repository"或连接 Git 提供商
4输入仓库 URL 和分支
5配置构建设置
6设置环境变量
7部署

构建包检测

Coolify 自动检测你的应用类型:

语言检测方式构建包
Node.jspackage.jsonNPM/Yarn
Pythonrequirements.txt、PipfilePython
PHPcomposer.jsonPHP
RubyGemfileRuby
Gogo.modGo
RustCargo.tomlRust
DockerDockerfileDocker
静态index.htmlStatic

构建配置

设置描述默认值
构建包应用类型自动检测
基础目录构建的子目录/(根目录)
构建命令自定义构建命令语言默认
启动命令自定义启动命令语言默认
端口应用端口3000
安装命令依赖安装语言默认

部署策略

策略描述停机时间
滚动逐个替换容器
重建停止所有,启动新的短暂
蓝绿切换流量到新版本

服务

Coolify 包含许多流行服务的一键部署。

Web 服务器和代理

服务描述用例
NginxWeb 服务器和反向代理静态站点、负载均衡
Caddy自动 HTTPS Web 服务器简单 Web 托管
Traefik动态反向代理微服务
HAProxy负载均衡高可用性

内容管理

服务描述用例
WordPress博客和 CMS网站、博客
Ghost发布平台博客、通讯
Strapi无头 CMSAPI 优先内容
Directus无头 CMS数据驱动内容
PlausibleWeb 分析隐私优先分析
MatomoWeb 分析全功能分析

通信

服务描述用例
Rocket.Chat团队聊天团队通信
Mattermost团队聊天Slack 替代
Matrix/Element联邦聊天去中心化消息
n8n工作流自动化集成平台
Chatwoot客户支持帮助台

开发工具

服务描述用例
GiteaGit 托管自托管 GitHub
GitLabDevOps 平台完整 DevOps
DroneCI/CD持续集成
Woodpecker CICI/CD轻量 CI
Uptime Kuma可用性监控服务监控
Stirling PDFPDF 工具文档处理

媒体和存储

服务描述用例
Nextcloud云存储文件共享
MinIO对象存储S3 兼容存储
Immich照片管理Google Photos 替代
Navidrome音乐服务器音乐流媒体
Jellyfin媒体服务器视频流媒体

数据库和缓存

服务描述用例
Redis内存缓存缓存、会话
Memcached内存缓存简单缓存
KeyDBRedis 替代高性能
DragonflyRedis 替代现代缓存

数据库

支持的数据库

数据库类型版本用例
PostgreSQL关系型14、15、16通用、JSON
MySQL关系型5.7、8.0Web 应用
MariaDB关系型10.xMySQL 兼容
MongoDB文档型5、6、7灵活模式
Redis键值6、7缓存、队列
Dragonfly键值最新高性能

数据库配置

设置描述默认值
名称数据库名称必填
用户数据库用户admin
密码数据库密码自动生成
端口外部端口自动分配
数据持久化Docker 卷
最大连接数连接限制数据库默认

连接字符串

数据库连接字符串格式
PostgreSQLpostgres://user:pass@host:5432/dbname
MySQLmysql://user:pass@host:3306/dbname
MongoDBmongodb://user:pass@host:27017/dbname
Redisredis://:pass@host:6379

数据库管理

功能描述
创建一键创建数据库
备份自动和手动备份
恢复从备份恢复
监控连接数、内存使用
日志UI 中的数据库日志
终端直接数据库控制台

SSL 和域名

自动 SSL

Coolify 自动为你的域名配置 Let's Encrypt 证书。

功能描述
自动配置证书自动创建
自动续期到期前续期
通配符支持 DNS 挑战
自定义证书上传你自己的证书

域名配置

步骤操作详情
1为应用添加域名在应用设置中
2配置 DNS将 A/CNAME 记录指向服务器
3等待传播通常 5-60 分钟
4SSL 已配置自动 Let's Encrypt

DNS 记录类型

类型记录用例
Aapp.example.com服务器 IP直接域名
CNAMEapp.example.comother.domain.com别名
通配符*.example.com服务器 IP所有子域名

SSL 证书选项

提供商方式费用
Let's EncryptHTTP-01 挑战免费
Let's EncryptDNS-01 挑战免费
自定义上传证书不定
Cloudflare代理免费/付费

监控

内置监控

指标描述
CPU 使用率服务器和容器 CPU
内存使用率RAM 利用率
磁盘使用率存储消耗
网络 I/O传入和传出流量
容器状态运行、停止、错误
正常运行时间服务可用性

资源监控

资源仪表板视图告警阈值
CPU实时图表持续 80%
内存实时图表持续 85%
磁盘使用百分比90% 满
网络带宽图表异常检测

日志管理

日志类型访问方式保留时间
应用日志UI / CLI默认 7 天
构建日志UI每次部署
系统日志SSH系统默认
容器日志docker logs可配置

与外部工具集成

工具集成用途
GrafanaAPI高级仪表板
Prometheus指标端点指标收集
Uptime Kuma服务模板可用性监控
n8nWebhooks告警自动化

备份

备份类型

类型备份内容存储
数据库备份完整数据库转储S3、FTP、本地
配置应用设置包含在 Coolify 数据中
持久数据手动或 S3

S3 兼容备份存储

提供商端点示例
AWS S3s3.amazonaws.com
DigitalOcean Spacesnyc3.digitaloceanspaces.com
MinIOminio.example.com
Backblaze B2s3.us-west-000.backblazeb2.com
Cloudflare R2r2.cloudflarestorage.com
Hetzner Storagefsn1.your-objectstorage.com

备份配置

# 备份设置
S3_BUCKET: coolify-backups
S3_ENDPOINT: s3.amazonaws.com
S3_ACCESS_KEY: your-access-key
S3_SECRET_KEY: your-secret-key
S3_REGION: us-east-1
BACKUP_FREQUENCY: daily  # daily, weekly, monthly
BACKUP_RETENTION: 7      # 保留备份数量

备份计划选项

频率描述保留
每小时每小时24 个备份
每天每天一次7-30 个备份
每周每周一次4-12 个备份
每月每月一次12 个备份
自定义Cron 表达式自定义

恢复流程

步骤操作
1导航到备份部分
2选择要恢复的备份
3选择目标数据库
4确认恢复
5验证数据完整性

团队管理

用户角色

角色权限
所有者完全访问、计费、团队管理
管理员除计费外完全访问
成员部署和管理分配的资源
查看者只读访问

团队功能

功能描述
多团队创建独立团队
资源共享团队间共享资源
活动日志跟踪谁做了什么
API 密钥每用户 API 访问
SSO单点登录(企业版)

访问控制

级别描述
服务器用户可访问哪些服务器
应用用户可管理哪些应用
数据库用户可访问哪些数据库
设置谁可以更改团队设置

API

API 概述

Coolify 提供 REST API 用于自动化和集成。

功能描述
认证Bearer token
基础 URLhttp://your-server:8000/api/v1
格式JSON
文档OpenAPI/Swagger

常用 API 操作

操作方法端点
列出应用GET/api/v1/applications
获取应用GET/api/v1/applications/{id}
部署应用POST/api/v1/applications/{id}/deploy
列出数据库GET/api/v1/databases
列出服务器GET/api/v1/servers
获取部署GET/api/v1/deployments

API 认证

# 在 Settings > API 生成 API 密钥
# 在请求中使用:
curl -H "Authorization: Bearer YOUR_API_KEY" \
  http://your-server:8000/api/v1/applications

Webhook 集成

触发器URL负载
GitHub PushCoolify webhook URLGitHub 负载
GitLab PushCoolify webhook URLGitLab 负载
手动部署API 端点自定义负载

Git 集成

支持的提供商

提供商功能设置
GitHub仓库、PR、webhooksOAuth 应用
GitLab仓库、MR、webhooksOAuth 应用
Gitea仓库、PR、webhooksOAuth 应用
Bitbucket仓库、PR、webhooksOAuth 应用
公共仓库任何公共 URL无需设置

GitHub 集成

步骤操作
1创建 GitHub OAuth 应用
2设置回调 URL 到 Coolify
3在 Coolify 中输入 Client ID 和 Secret
4在 GitHub 中授权 Coolify
5选择要部署的仓库

自动部署

触发器描述
推送到分支每次推送部署
创建标签版本标签时部署
Pull request预览部署
手动点击部署按钮

预览部署

功能描述
PR 预览每个 PR 有自己的 URL
自动清理PR 关闭时删除
环境变量与生产环境分离
自定义域名可选的每预览域名

环境变量

变量管理

功能描述
UI 编辑在 Web 界面设置变量
构建时构建期间可用
运行时执行期间可用
共享多应用间共享
多行支持证书、密钥

变量作用域

作用域描述构建时运行时
构建仅构建期间
运行时仅运行时
两者构建和运行时

密钥管理

方式描述安全级别
环境变量键值对基础
Docker secrets静态加密
外部保险库HashiCorp Vault 等最高
.env 文件基于文件的密钥基础

变量示例

# 数据库连接
DATABASE_URL=postgres://user:pass@db:5432/myapp

# 应用设置
NODE_ENV=production
APP_PORT=3000
APP_SECRET=your-secret-key

# 第三方 API 密钥
STRIPE_SECRET_KEY=sk_live_...
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=user@example.com
SMTP_PASS=password

最佳实践

实践描述
敏感数据使用密钥永远不要提交 API 密钥
分组相关变量使用命名约定
记录变量包含 .env.example
定期轮换密钥定期更改密码
每环境使用不同值开发 vs 生产

高级配置

自定义 Docker Compose

# 复杂应用的 docker-compose.yml
version: "3.8"

services:
  web:
    build: .
    ports:
      - "3000:3000"
    environment:
      - DATABASE_URL=${DATABASE_URL}
    depends_on:
      - db
      - redis

  worker:
    build: .
    command: celery worker
    environment:
      - REDIS_URL=${REDIS_URL}

  db:
    image: postgres:16
    volumes:
      - pgdata:/var/lib/postgresql/data

  redis:
    image: redis:7-alpine

volumes:
  pgdata:

资源限制

设置描述示例
内存限制最大 RAM512M、1G
CPU 限制最大 CPU 核心0.5、1、2
内存预留保证 RAM256M
CPU 预留保证 CPU0.25

自定义 Nginx 配置

# 自定义代理配置
location /api {
    proxy_pass http://app:3000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

故障排除

常见问题

问题原因解决方案
部署失败构建错误检查构建日志
SSL 不工作DNS 未配置验证 DNS 记录
无法连接数据库凭据错误检查环境变量
内存不足资源限制增加内存限制
端口冲突另一服务占用端口更改端口映射
构建缓慢大仓库使用 .dockerignore

常用命令

# 检查 Coolify 状态
docker ps | grep coolify

# 查看 Coolify 日志
docker logs coolify

# 重启 Coolify
docker restart coolify

# 检查磁盘空间
df -h

# 检查 Docker 磁盘使用
docker system df

# 清理 Docker
docker system prune -a

健康检查

检查命令预期结果
Coolify 运行docker pscoolify 容器运行中
端口可访问curl localhost:8000HTML 响应
DNS 解析dig your-domain.com服务器 IP
SSL 有效curl https://your-domain.com有效证书

总结

Coolify 让自托管对每个人都触手可及。通过其直观的 Web 界面,你无需深入的 DevOps 知识即可部署应用、数据库和服务。

关键要点:

  • 在任何 Linux 服务器上一键安装
  • 从 Git 仓库自动部署
  • 管理数据库并备份
  • 自动 Let's Encrypt SSL
  • 基于角色的团队协作
  • API 用于高级自动化

从单台服务器开始,按需扩展。Coolify 会随你的项目一起成长。


来源:aws.md

目录

  1. AWS 简介
  2. 账号设置与安全
  3. 计算服务
  4. 存储服务
  5. 数据库服务
  6. 网络
  7. 安全服务
  8. 成本管理

简介

Amazon Web Services (AWS) 是一个综合云平台,提供 200 多种服务。本指南涵盖构建和部署应用最关键的服务。

AWS 全球基础设施

组件描述数量
区域地理区域33
可用区数据中心105+
边缘节点CDN 端点600+

AWS 服务类别

类别服务用途
计算EC2, Lambda, ECS运行应用
存储S3, EBS, EFS存储数据
数据库RDS, DynamoDB, Aurora数据管理
网络VPC, Route 53, CloudFront网络基础设施
安全IAM, KMS, WAF保护资源

AWS vs 其他提供商

功能AWSAzureGCP
市场份额32%23%10%
服务数200+200+100+
区域3360+40+
免费层12 个月12 个月永久免费

账号设置与安全

从一开始就安全地设置你的 AWS 账号。

账号创建

步骤操作备注
1访问 aws.amazon.com开始注册
2创建账号邮箱、密码
3支付方式需要信用卡
4验证身份电话验证
5选择支持计划基础(免费)

根账号安全

操作优先级实施方式
强密码关键20+ 字符
MFA关键虚拟或硬件
不日常使用关键使用 IAM 用户
安全凭据关键密码管理器

IAM 最佳实践

实践描述实施方式
最小权限最低权限IAM 策略
根账号不日常使用使用 IAM 用户创建用户
全面 MFA多因素认证全部启用
轮换凭据定期更换90 天轮换
使用角色用于服务EC2 实例角色

IAM 用户和组

实体用途最佳实践
User个人访问每人一个
Group权限集按角色分组
Role服务访问用于应用
Policy权限规则JSON 文档

计算服务

AWS 计算服务用于运行应用。

EC2 (Elastic Compute Cloud)

实例类型用途示例
t3.micro小型工作负载开发
m5.large通用Web 服务器
c5.xlarge计算密集批处理
r5.2xlarge内存密集数据库
p3.2xlargeGPU 工作负载机器学习

EC2 定价模型

模型描述节省
On-Demand按小时付费
Reserved1-3 年承诺最高 75%
Spot竞价最高 90%
Savings Plans灵活承诺最高 72%

Lambda (Serverless)

功能描述好处
无服务器托管基础设施无运维
按使用付费按请求+持续时间成本效益
自动扩展自动缩放处理任何负载
事件驱动由事件触发反应式

Lambda 限制

限制可调整
内存128MB - 10GB
超时15 分钟
包大小250MB
并发执行1000

ECS (Elastic Container Service)

启动类型描述用途
Fargate无服务器容器无基础设施管理
EC2托管实例更多控制

容器服务对比

服务描述复杂度
ECS容器编排中等
EKSKubernetes
Fargate无服务器容器
App Runner简单部署极低

存储服务

AWS 存储方案满足不同需求。

S3 (Simple Storage Service)

存储类别用途成本检索
Standard频繁访问较高即时
Intelligent-Tiering未知模式不定即时
Standard-IA不频繁访问较低即时
One Zone-IA可重建数据最低即时
Glacier归档极低分钟-小时
Glacier Deep Archive长期归档最低12 小时

S3 桶操作

操作描述API
创建桶创建存储容器PUT
上传对象存储文件PUT
下载对象获取文件GET
删除对象移除文件DELETE
列出对象浏览内容GET

EBS (Elastic Block Store)

卷类型用途IOPS吞吐量
gp3通用3000-16000125-1000 MB/s
io2高性能640001000 MB/s
st1吞吐优化500500 MB/s
sc1冷存储250250 MB/s

EFS (Elastic File System)

功能描述用途
共享访问多实例内容管理
弹性自动增长可变工作负载
NFS 协议标准文件系统旧应用

存储服务对比

服务类型访问用途
S3对象HTTP/HTTPS静态文件、备份
EBS挂载到 EC2数据库、文件系统
EFS文件NFS 挂载共享存储
FSx托管Windows/NFS企业应用

数据库服务

针对不同工作负载的托管数据库服务。

RDS (Relational Database Service)

引擎用途功能
MySQLWeb 应用流行、开源
PostgreSQL复杂查询高级功能
MariaDBMySQL 兼容开源
Oracle企业商业许可
SQL ServerWindows 工作负载Microsoft 生态

RDS 功能

功能描述好处
Multi-AZ高可用自动故障转移
Read Replicas扩展读取性能
自动备份时间点恢复数据保护
加密静态和传输中安全

DynamoDB

功能描述用途
NoSQL键值和文档灵活模式
个位数 ms低延迟高性能
自动扩展容量调整可变工作负载
Global Tables多区域全球应用

DynamoDB vs RDS

功能DynamoDBRDS
类型NoSQL关系型
模式灵活固定
扩展自动手动
延迟个位数 ms毫秒
成本按请求按小时

Aurora

功能描述好处
MySQL 兼容直接替换轻松迁移
PostgreSQL 兼容直接替换轻松迁移
5x 更快比标准 MySQL性能
自动扩展存储自动缩放无需容量规划

ElastiCache

引擎用途功能
Redis缓存、会话丰富数据结构
Memcached简单缓存多线程

网络

AWS 网络服务用于连接和分发。

VPC (Virtual Private Cloud)

组件描述必需
VPC虚拟网络
Subnet网络段
Internet Gateway公网访问公共子网
Route Table流量路由
Security Group实例防火墙
Network ACL子网防火墙可选

子网类型

类型描述路由
Public可访问互联网通过 Internet Gateway
Private无直接互联网通过 NAT Gateway
Isolated完全无互联网无路由

Security Groups vs NACLs

功能Security GroupsNACLs
级别实例子网
状态有状态无状态
规则仅允许允许和拒绝
默认拒绝所有允许所有

Route 53 (DNS)

记录类型用途示例
AIPv4 地址192.0.2.1
AAAAIPv6 地址2001:db8::1
CNAME域名别名www.example.com
MX邮件服务器mail.example.com

CloudFront (CDN)

功能描述好处
全球边缘600+ 位置低延迟
缓存静态内容更快分发
SSL/TLS加密安全
Lambda@Edge边缘无服务器自定义逻辑

负载均衡器

类型层级用途
Application (ALB)HTTP/HTTPSWeb 应用
Network (NLB)TCP/UDP高性能
Gateway (GWLB)Layer 3安全设备

安全服务

AWS 安全服务保护你的基础设施。

IAM (Identity and Access Management)

资源用途最佳实践
Users个人访问最小权限
Groups权限集按角色分组
Roles服务访问用于应用
Policies权限规则JSON 文档

KMS (Key Management Service)

功能描述用途
密钥创建生成密钥加密
密钥轮换自动轮换合规
集成AWS 服务S3, EBS, RDS

WAF (Web Application Firewall)

防护描述规则
SQL 注入阻止恶意查询托管规则
XSS阻止跨站脚本托管规则
速率限制限制请求基于 IP
地理封锁按国家阻止地理

Shield

级别防护成本
Standard基础 DDoS免费
Advanced增强 DDoS$3000/月

GuardDuty

功能描述好处
威胁检测持续监控识别威胁
机器学习异常检测减少误报
集成CloudTrail, VPC全面

成本管理

管理和优化 AWS 成本。

Cost Explorer

功能描述用途
成本分析查看支出预算追踪
预测预测未来成本预算规划
建议节省建议优化

AWS Budgets

预算类型描述告警
成本支出限额Email, SNS
使用量服务使用Email, SNS
预留RI 利用率Email, SNS

成本优化策略

策略描述节省
右 sizing匹配实例到工作负载30-50%
Reserved Instances长期承诺30-75%
Spot Instances竞价50-90%
Savings Plans灵活承诺20-72%

免费层

服务免费限额时长
EC2750 小时 t2.micro12 个月
S35GB 存储12 个月
RDS750 小时 t2.micro12 个月
Lambda1M 请求/月永久

成本分配标签

标签用途示例
Environment追踪环境成本Production, Staging
Team团队计费Engineering, Marketing
Project项目成本ProjectA, ProjectB
Owner责任人john.doe

总结

主题核心要点
账号保护根账号,使用 IAM
计算EC2 用于 VM,Lambda 用于无服务器
存储S3 用于对象,EBS 用于块
数据库RDS 用于关系型,DynamoDB 用于 NoSQL
网络VPC 用于隔离,CloudFront 用于 CDN
安全IAM、KMS、WAF 保护
成本监控、优化、使用免费层