快速开始
学习如何快速开始使用 Anheyu
安装方式对比
Anheyu 提供了多种安装方式,请根据您的需求选择合适的部署方案:
安装方式 | 难度 | 维护成本 | 启动速度 | 适用场景 | 优势 | 劣势 |
---|---|---|---|---|---|---|
Docker Compose | ⭐⭐ | ⭐⭐ | ⭐⭐⭐ | 生产环境、快速部署 | 一键部署、完整服务栈、环境隔离、易于维护 | 需要学习 Docker |
Docker | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | 容器化环境 | 环境隔离、部署灵活 | 需要手动管理依赖服务 |
源码部署 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ | 开发环境、自定义需求 | 完全控制、便于二次开发 | 环境配置复杂、依赖管理困难 |
二进制文件 | ⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | 生产环境、性能要求高 | 启动快速、资源占用少 | 依赖系统环境 |
推荐选择
推荐:Docker Compose
- ✅ 一键启动所有依赖服务
- ✅ 内置完整多媒体处理组件
- ✅ 无需复杂的环境配置
- ✅ 官方维护的配置文件
- ✅ 便于升级和维护 适合刚接触 Anheyu 的用户,可以快速体验完整功能,无需担心依赖配置问题。
推荐:Docker Compose 或 二进制文件
Docker Compose 优势:
- ✅ 服务编排和依赖管理
- ✅ 内置完整多媒体处理能力 (VIPS、FFMpeg)
- ✅ 容器化隔离,环境一致性
- ✅ 便于扩展和负载均衡
- ✅ 无需手动配置复杂依赖
二进制文件优势:
- ✅ 极低的资源占用
- ✅ 最快的启动速度
- ✅ 更好的性能表现
- ❌ 需要手动安装多媒体处理组件
选择建议: 如果注重完整功能和易用性选择 Docker Compose,如果注重极致性能且愿意手动配置选择二进制文件。
推荐:源码部署
详细对比
🐳 Docker Compose 适用场景: 大多数生产环境,快速部署
优势:
- ✅ 一键部署包含所有依赖服务
- ✅ 内置完整多媒体处理组件 (VIPS、FFMpeg)
- ✅ 版本管理和升级简便
- ✅ 环境隔离性好
- ✅ 官方维护配置
- ✅ 无需手动安装复杂依赖
劣势:
- ❌ 需要 Docker 环境支持
🐳 Docker 适用场景: 已有 Docker 基础设施,需要灵活配置
优势:
- ✅ 容器化部署
- ✅ 环境一致性
- ✅资源控制精确
劣势:
- ❌ 需要手动管理数据库等依赖服务
🔧 源码部署 适用场景: 开发环境,需要定制功能 优势:
- ✅ 完全的源码控制
- ✅ 支持二次开发
- ✅ 便于调试 劣势:
- ❌ 环境配置复杂
- ❌ 需要 Go 开发环境
- ❌ 依赖管理繁琐
📦 二进制文件 适用场景: 生产环境,追求极致性能 优势:
- ✅ 单文件部署
- ✅ 启动速度最快
- ✅ 资源占用最少
- ✅ 跨平台支持 劣势:
- ❌ 需要手动安装和配置多媒体处理组件 (VIPS、FFMpeg 等)
选择建议
如果您是第一次使用 Anheyu,强烈推荐使用 Docker Compose 方式进行部署,它能让您快速体验到完整的功能,并且后续维护也很方便。
安装
Docker Compose 部署 (推荐)
Docker Compose 包含的完整服务
使用 Docker Compose 启动时,将自动创建并启用以下完整的服务栈:
核心服务:
- 🚀 Anheyu 主程序 - 提供完整的 Web 服务和 API
- 💾 Redis - 缓存服务,提升系统性能和会话管理
- 🗄️ PostgreSQL 数据库 - 主数据存储,支持复杂查询和事务
多媒体处理组件:
- 🖼️ VIPS - 高性能图像处理库,支持各种图片格式转换和缩略图生成
- 🎥 FFMpeg - 强大的视频处理工具,支持视频格式转换、压缩和转码
这些组件协同工作,为您提供完整的文件存储、处理和管理解决方案。无需手动安装和配置这些复杂的依赖,一键启动即可获得全功能的服务。
-
前置准备,请参考 Docker Compose 安装文档 安装 Docker 和 Docker Compose,确保你的环境有 Docker 和 Docker Compose。
你可以理解为 Docker编排,即提前编排好需要的内容,写在同一个配置文件中,然后通过一个命令启动,使用者只需要关心这个配置文件即可。 -
准备
docker-compose.yml
文件 创建一个目录作为 Docker Compose 文件的存储目录,比如:
mkdir -p ~/anheyu
cd ~/anheyu
将获取到的 docker-compose.yml 文件保存到此目录。
将 GitHub 仓库 docker-compose.yml 中的 docker-compose.yml 文件保存到服务端。
如下是一个包含所有必要服务的 Pro 版 docker-compose.yml 文件示例。将其保存到服务端。
services:
anheyu:
image: harbor.anheyu.com/anheyu/pro:latest
container_name: anheyu-backend
depends_on:
anheyu_postgresql:
condition: service_healthy
anheyu_redis:
condition: service_healthy
restart: always
ports:
- 8091:8091
environment:
- ANHEYU_DATABASE_TYPE=postgres
- ANHEYU_DATABASE_HOST=anheyu_postgresql
- ANHEYU_DATABASE_USER=anheyu
- ANHEYU_DATABASE_NAME=anheyu
- ANHEYU_DATABASE_PORT=5432
- ANHEYU_DATABASE_PASSWORD=
- ANHEYU_REDIS_ADDR=anheyu_redis:6379
volumes:
- ./data:/anheyu/data
anheyu_postgresql:
image: postgres:latest
container_name: anheyu_postgresql
ports:
- "5432:5432"
environment:
- POSTGRES_USER=anheyu
- POSTGRES_DB=anheyu
- POSTGRES_HOST_AUTH_METHOD=trust
volumes:
- database_postgres:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U anheyu -d anheyu"]
interval: 5s
timeout: 5s
retries: 5
anheyu_redis:
image: redis:latest
container_name: anheyu_redis
volumes:
- redis_data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 5s
retries: 5
volumes:
database_postgres:
redis_data:
- 启动
在 docker-compose.yml 文件所在目录下运行:
docker compose up -d
在 Pro 授权管理面板 点击 获取 Docker 镜像 按钮,并生成一份用于登录 Pro 版本私有镜像仓库的账号,点击获取授权密钥按钮,将获取到的授权密钥保存到 ANHEYU_LICENSE_KEY 环境变量中,然后启动。
# 登录 Pro 版本私有镜像仓库
docker login -u 获取到的用户名 -p 获取到的密码 harbor.anheyu.com
# 设置授权密钥
export ANHEYU_LICENSE_KEY=你的授权密钥
# 启动
docker compose up -d
注意事项
你获取到的容器仓库凭证并非永久有效,如果后续更新拉取镜像时出现凭证过期的情况,请重新获取并登录。
Docker Compose部署是最简单的方式,可以避免环境配置问题。
多媒体处理组件说明
Docker Compose 自动包含的多媒体处理组件功能:
- 📸 VIPS - 处理各类图片格式,支持自动生成缩略图、图片压缩、格式转换
- 🎬 FFMpeg - 视频文件处理,支持视频压缩、格式转换、截取预览图
这些组件让 Anheyu 具备强大的文件处理能力,用户无需额外配置即可享受完整功能。
Docker 部署
-
前置准备,请参考 Docker 安装文档 安装 Docker,确保你的环境有 Docker。
-
创建数据目录
mkdir -p ~/anheyu/data
- 运行容器
社区版需要 Redis 支持,建议先启动 Redis:
# 启动 Redis (必需)
docker run -d \
--name anheyu-redis \
-p 6379:6379 \
redis:latest
# 启动 Anheyu 社区版
docker run -d \
--name anheyu-app \
-p 8091:8091 \
-v ~/anheyu/data:/anheyu/data \
-e ANHEYU_DATABASE_TYPE=sqlite \
-e ANHEYU_DATABASE_PATH=/anheyu/data/anheyu.db \
-e ANHEYU_REDIS_ADDR=host.docker.internal:6379 \
anheyu/anheyu-backend:latest
环境变量说明
ANHEYU_DATABASE_TYPE
: 数据库类型,社区版默认使用 sqliteANHEYU_DATABASE_PATH
: SQLite 数据库文件路径ANHEYU_REDIS_ADDR
: Redis 服务器地址(必需配置)-v ~/anheyu/data:/anheyu/data
: 数据持久化挂载
Redis 依赖
Anheyu 应用必须使用 Redis,用于缓存和会话管理。请确保 Redis 服务正常运行。
Pro 版需要外部数据库和 Redis 支持,必须先启动 PostgreSQL 和 Redis:
# 启动 PostgreSQL
docker run -d \
--name anheyu-postgres \
-e POSTGRES_USER=anheyu \
-e POSTGRES_DB=anheyu \
-e POSTGRES_HOST_AUTH_METHOD=trust \
-p 5432:5432 \
postgres:latest
# 启动 Redis
docker run -d \
--name anheyu-redis \
-p 6379:6379 \
redis:latest
# 登录 Pro 版本私有镜像仓库
docker login -u 获取到的用户名 -p 获取到的密码 harbor.anheyu.com
# 启动 Anheyu Pro
docker run -d \
--name anheyu-pro \
-p 8091:8091 \
-v ~/anheyu/data:/anheyu/data \
-e ANHEYU_DATABASE_TYPE=postgres \
-e ANHEYU_DATABASE_HOST=host.docker.internal \
-e ANHEYU_DATABASE_USER=anheyu \
-e ANHEYU_DATABASE_NAME=anheyu \
-e ANHEYU_DATABASE_PORT=5432 \
-e ANHEYU_DATABASE_PASSWORD= \
-e ANHEYU_REDIS_ADDR=host.docker.internal:6379 \
-e ANHEYU_LICENSE_KEY=你的授权密钥 \
harbor.anheyu.com/anheyu/pro:latest
Pro 版注意事项
- 需要先获取 Pro 版授权和镜像仓库凭证
- PostgreSQL 和 Redis 都是必需的依赖服务
- 使用
host.docker.internal
来访问宿主机上的数据库和Redis服务 - 或者使用
--network host
模式运行容器
- 验证安装
启动成功后,访问 http://localhost:8091 即可进入 Anheyu。
Docker 部署是简单快速的方式,适合单机部署和测试环境。
- 前置准备 确保系统已安装以下环境:
- Go >= 1.21 (Go 安装指南)
- Git (Git 安装指南)
- MySQL >= 8.0 (MySQL 安装指南)
- 获取源码
# 克隆社区版仓库
git clone --recursive https://github.com/anzhiyu-c/anheyu-app.git cd anheyu-app
- 安装依赖和构建
# 安装 Go 模块依赖
go mod tidy
# 构建前端资源 (如果包含前端)
cd assets
pnpm install
pnpm run build
cd ..
# 构建后端项目
go build -ldflags="-s -w" -o anheyu-app main.go
- 配置文件
创建配置文件 conf.ini
:
[System]
Port = 8091
Debug = false
[Database]
Type = mysql
Host = 127.0.0.1
Port = 3306
User = root
Password = root
Name = anheyu_app
Debug = false
[Redis]
Addr = localhost:6379
Password =
DB = 10
- 初始化数据目录
# 创建必要的目录
mkdir -p data/storage data/temp
# 复制默认文件 (如果希望有的话可以用,一般不需要)
cp -r default_files/* data/
- 运行应用
# 直接运行 (前台)
./anheyu-app
# 后台运行
nohup ./anheyu-app > anheyu.log 2>&1 &
# 查看运行状态
ps aux | grep anheyu-app
# 查看日志
tail -f anheyu.log
- 验证安装
启动成功后,访问 http://localhost:8091 即可进入 Anheyu。
源码部署优势
- 完全控制构建过程和依赖
- 便于开发和调试
- 支持交叉编译到不同平台
注意事项
- 确保 Go 版本兼容 (推荐 Go 1.21+)
- 生产环境建议使用进程管理工具 (如 systemd, supervisor)
二进制文件部署
- 系统要求
支持的操作系统和架构:
- Linux: x86_64 (amd64), ARM64
- macOS: Intel (amd64), Apple Silicon (arm64)
- Windows: x86_64 (amd64), ARM64
系统依赖
二进制文件为静态编译,无需额外依赖。但Pro版需要外部数据库支持。
- 下载二进制文件
从 GitHub Releases 下载最新版本:
# Linux AMD64
wget https://github.com/anzhiyu-c/anheyu-app/releases/latest/download/anheyu-app-linux-amd64
chmod +x anheyu-app-linux-amd64
# Linux ARM64
wget https://github.com/anzhiyu-c/anheyu-app/releases/latest/download/anheyu-app-linux-arm64
chmod +x anheyu-app-linux-arm64
# macOS Intel
wget https://github.com/anzhiyu-c/anheyu-app/releases/latest/download/anheyu-app-darwin-amd64
chmod +x anheyu-app-darwin-amd64
# macOS Apple Silicon
wget https://github.com/anzhiyu-c/anheyu-app/releases/latest/download/anheyu-app-darwin-arm64
chmod +x anheyu-app-darwin-arm64
Pro 版二进制文件需要通过授权获取:
- 登录 Pro 版管理面板
- 点击"下载二进制文件"按钮
- 选择对应的系统架构下载
- 下载后添加执行权限:
chmod +x anheyu-pro-*
Pro 版下载
Pro 版二进制文件需要有效授权才能下载,请确保已购买相应授权。
- 创建工作目录
# 创建安装目录
mkdir -p ~/anheyu
cd ~/anheyu
# 移动二进制文件到工作目录
mv /path/to/downloaded/anheyu-* ./anheyu
# 创建数据目录
mkdir -p data/storage data/temp
- 准备配置文件
创建 data/conf.ini
配置文件:
[System]
Port = 8091
Debug = false
[Database]
Type = mysql
Host = 127.0.0.1
Port = 3306
User = root
Password = root
Name = anheyu_app
Debug = false
[Redis]
Addr = localhost:6379
Password =
DB = 10
创建 data/conf.ini
配置文件:
[System]
Port = 8091
Debug = false
[Database]
Type = mysql
Host = 127.0.0.1
Port = 3306
User = root
Password = root
Name = anheyu_app
Debug = false
[Redis]
Addr = localhost:6379
Password =
DB = 10
Pro 版配置
- 确保数据库服务已启动并可连接
- 必须设置环境变量 ANHEYU_LICENSE_KEY,包含有效的授权密钥
- Redis 为可选配置,但建议启用以提升性能
- 运行应用
# 直接运行 (适合测试)
./anheyu
# 后台运行
nohup ./anheyu > ./data/anheyu.log 2>&1 &
# 查看进程
ps aux | grep anheyu
# 查看日志
tail -f ./data/anheyu.log
# 停止运行
pkill anheyu
创建 systemd 服务文件 /etc/systemd/system/anheyu.service
:
[Unit]
Description=Anheyu Service
After=network.target
[Service]
Type=simple
User=anheyu
WorkingDirectory=/home/anheyu/anheyu
ExecStart=/home/anheyu/anheyu/anheyu
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
启用服务:
sudo systemctl daemon-reload
sudo systemctl enable anheyu
sudo systemctl start anheyu
sudo systemctl status anheyu
授权密钥设置
Pro 版本支持两种方式设置授权密钥:
- 命令行参数:使用
--license-key
参数(推荐) - 环境变量:设置
ANHEYU_LICENSE_KEY
环境变量
命令行参数优先级更高,如果同时设置,将使用命令行参数的值。
# 方式1:使用命令行参数 (推荐)
./anheyu --license-key "你的授权密钥"
# 方式2:使用环境变量
export ANHEYU_LICENSE_KEY=你的授权密钥
./anheyu
# 方式3:在同一行设置环境变量并运行
ANHEYU_LICENSE_KEY=你的授权密钥 ./anheyu
# 方式1:使用命令行参数后台运行 (推荐)
nohup ./anheyu --license-key "你的授权密钥" > ./data/anheyu.log 2>&1 &
# 方式2:使用环境变量后台运行
ANHEYU_LICENSE_KEY=你的授权密钥 nohup ./anheyu > ./data/anheyu.log 2>&1 &
# 方式3:先 export 再后台运行
export ANHEYU_LICENSE_KEY=你的授权密钥
nohup ./anheyu > ./data/anheyu.log 2>&1 &
# 查看进程
ps aux | grep anheyu
# 查看日志
tail -f ./data/anheyu.log
# 停止运行
pkill anheyu
创建 systemd 服务文件 /etc/systemd/system/anheyu.service
:
方式1:使用命令行参数(推荐)
[Unit]
Description=Anheyu Pro Service
After=network.target
[Service]
Type=simple
User=anheyu
WorkingDirectory=/home/anheyu/anheyu
ExecStart=/home/anheyu/anheyu/anheyu --license-key "你的授权密钥"
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
方式2:使用环境变量
[Unit]
Description=Anheyu Pro Service
After=network.target
[Service]
Type=simple
User=anheyu
WorkingDirectory=/home/anheyu/anheyu
Environment=ANHEYU_LICENSE_KEY=你的授权密钥
ExecStart=/home/anheyu/anheyu/anheyu
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
启用服务:
sudo systemctl daemon-reload
sudo systemctl enable anheyu
sudo systemctl start anheyu
sudo systemctl status anheyu
服务文件安全
将授权密钥写入 systemd 服务文件时,请确保文件权限安全:
sudo chmod 600 /etc/systemd/system/anheyu.service
- 验证安装
启动成功后:
- 访问 http://localhost:8091 进入 Anheyu
- 检查日志确认无错误信息
- 注册第一个用户(将自动成为管理员)
- 更新应用
# 停止当前运行的应用
pkill anheyu # 或 sudo systemctl stop anheyu
# 备份当前版本
cp anheyu anheyu.backup
# 下载新版本并替换
wget -O anheyu https://github.com/anzhiyu-c/anheyu-app/releases/latest/download/anheyu-app-linux-amd64
chmod +x anheyu
# 重新启动
./anheyu # 或 sudo systemctl start anheyu
二进制部署优势
- 部署简单,无需编译环境
- 文件体积小,启动速度快
- 适合生产环境快速部署
- 支持多种系统架构
注意事项
- 确保下载的二进制文件与系统架构匹配
- Pro 版需要先准备好数据库环境
- 生产环境建议使用系统服务管理
- 定期备份数据目录
下一步
安和鱼 默认会监听 8091
端口。你可以在浏览器中访问 http://localhost:8091/login 进入 安和鱼。请注册一个账户,首个注册的账户会被设置为管理员。
如何更新
# 关闭当前运行的容器
docker compose down
# 更新 安和鱼 镜像
docker compose pull
# 启动新的容器
docker compose up -d
后续步骤
如果你是在服务器上部署的话,那么你需要配置域名和反向代理,才能让安和鱼正常访问,否则你将只能使用 ip 访问。
在管理面板配置站点
首个注册的用户会被设定为管理员。登录后,前往 https://你的域名/login 进入管理面板,在左侧列表可以进入系统设置,推荐进行下列配置:
更改 站点 URL 为你当前域名的 URL,否则上传的图片链接的 url 会不正确。
第一篇文章
更新 默认文章,默认的文章没有经过后端的解析,所以需要手动更新一次,在文章管理
里面找到第一篇文章,点击编辑,再点击右上角的更新文章,然后就可以看到第一篇正常的文章,你可以参考系统第一篇文章里面的语法内容来写你的文章,
版本号释义
本项目的版本号为 X.Y.Z 格式,但与常见的语义化版本号规范有部分区别,具体释义如下:
X: 产品层面的重新设计,包含重大框架重构,会涉及大范围功能变更与配置变更,更新前必须阅读相关文档
Y: 包含中大型新功能,及无法向下兼容的功能变更与配置变更,更新该版本号可能会需要修改配置或者移除一些原功能
Z: 不仅包含 BUG 修复、小型新功能,还会包含可以向下兼容的原功能更新与配置变更,原则上更新该版本号无需额外动作
Last updated on