Anheyu LogoAnheyu

快速开始

学习如何快速开始使用 Anheyu

安装方式对比

Anheyu 提供了多种安装方式,请根据您的需求选择合适的部署方案:

安装方式难度维护成本启动速度适用场景优势劣势
Docker Compose⭐⭐⭐⭐⭐⭐⭐生产环境、快速部署一键部署、完整服务栈、环境隔离、易于维护需要学习 Docker
Docker⭐⭐⭐⭐⭐⭐⭐⭐⭐容器化环境环境隔离、部署灵活需要手动管理依赖服务
源码部署⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐开发环境、自定义需求完全控制、便于二次开发环境配置复杂、依赖管理困难
二进制文件⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐生产环境、性能要求高启动快速、资源占用少依赖系统环境

推荐选择

推荐:Docker Compose

  • ✅ 一键启动所有依赖服务
  • ✅ 内置完整多媒体处理组件
  • ✅ 无需复杂的环境配置
  • ✅ 官方维护的配置文件
  • ✅ 便于升级和维护 适合刚接触 Anheyu 的用户,可以快速体验完整功能,无需担心依赖配置问题。

推荐:Docker Compose 或 二进制文件

Docker Compose 优势:

  • ✅ 服务编排和依赖管理
  • ✅ 内置完整多媒体处理能力 (VIPS、FFMpeg)
  • ✅ 容器化隔离,环境一致性
  • ✅ 便于扩展和负载均衡
  • ✅ 无需手动配置复杂依赖

二进制文件优势:

  • ✅ 极低的资源占用
  • ✅ 最快的启动速度
  • ✅ 更好的性能表现
  • ❌ 需要手动安装多媒体处理组件

选择建议: 如果注重完整功能和易用性选择 Docker Compose,如果注重极致性能且愿意手动配置选择二进制文件。

推荐:源码部署

  • ✅ 完全的代码控制权
  • ✅ 便于调试和二次开发
  • ✅ 支持热重载和实时调试
  • ✅ 自定义构建和编译选项
  • ❌ 需要自己安装VIPS
  • ❌ 需要自己安装FFMPEG
  • ❌ 需要自己安装LibRaw 适合需要修改源码或深度定制的开发者。

推荐:二进制文件

  • ✅ 静态编译,无运行时依赖
  • ✅ 最小的内存占用
  • ✅ 最快的响应速度
  • ✅ 适合资源受限的环境
  • ❌ 需要自己安装VIPS (图片处理)
  • ❌ 需要自己安装FFMPEG (视频处理)
  • ❌ 需要自己安装LibRaw (RAW图片支持)

适合对性能有严格要求或资源受限的部署环境,但需要手动配置多媒体处理环境。

详细对比

🐳 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 - 强大的视频处理工具,支持视频格式转换、压缩和转码

这些组件协同工作,为您提供完整的文件存储、处理和管理解决方案。无需手动安装和配置这些复杂的依赖,一键启动即可获得全功能的服务。

  1. 前置准备,请参考 Docker Compose 安装文档 安装 Docker 和 Docker Compose,确保你的环境有 Docker 和 Docker Compose。
    你可以理解为 Docker编排,即提前编排好需要的内容,写在同一个配置文件中,然后通过一个命令启动,使用者只需要关心这个配置文件即可。

  2. 准备 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:
  1. 启动

在 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 部署

  1. 前置准备,请参考 Docker 安装文档 安装 Docker,确保你的环境有 Docker。

  2. 创建数据目录

mkdir -p ~/anheyu/data
  1. 运行容器

社区版需要 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: 数据库类型,社区版默认使用 sqlite
  • ANHEYU_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 模式运行容器
  1. 验证安装

启动成功后,访问 http://localhost:8091 即可进入 Anheyu。

Docker 部署是简单快速的方式,适合单机部署和测试环境。

  1. 前置准备 确保系统已安装以下环境:
  1. 获取源码
# 克隆社区版仓库
git clone --recursive https://github.com/anzhiyu-c/anheyu-app.git cd anheyu-app
  1. 安装依赖和构建
# 安装 Go 模块依赖
go mod tidy

# 构建前端资源 (如果包含前端)
cd assets
pnpm install
pnpm run build
cd ..

# 构建后端项目
go build -ldflags="-s -w" -o anheyu-app main.go
  1. 配置文件

创建配置文件 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
  1. 初始化数据目录
# 创建必要的目录
mkdir -p data/storage data/temp

# 复制默认文件 (如果希望有的话可以用,一般不需要)
cp -r default_files/* data/
  1. 运行应用
# 直接运行 (前台)
./anheyu-app
# 后台运行
nohup ./anheyu-app > anheyu.log 2>&1 &

# 查看运行状态
ps aux | grep anheyu-app

# 查看日志
tail -f anheyu.log
  1. 验证安装

启动成功后,访问 http://localhost:8091 即可进入 Anheyu。

源码部署优势

  • 完全控制构建过程和依赖
  • 便于开发和调试
  • 支持交叉编译到不同平台

注意事项

  • 确保 Go 版本兼容 (推荐 Go 1.21+)
  • 生产环境建议使用进程管理工具 (如 systemd, supervisor)

二进制文件部署

  1. 系统要求

支持的操作系统和架构:

  • Linux: x86_64 (amd64), ARM64
  • macOS: Intel (amd64), Apple Silicon (arm64)
  • Windows: x86_64 (amd64), ARM64

系统依赖

二进制文件为静态编译,无需额外依赖。但Pro版需要外部数据库支持。

  1. 下载二进制文件

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 版二进制文件需要通过授权获取:

  1. 登录 Pro 版管理面板
  2. 点击"下载二进制文件"按钮
  3. 选择对应的系统架构下载
  4. 下载后添加执行权限:
chmod +x anheyu-pro-*

Pro 版下载

Pro 版二进制文件需要有效授权才能下载,请确保已购买相应授权。

  1. 创建工作目录
# 创建安装目录
mkdir -p ~/anheyu
cd ~/anheyu

# 移动二进制文件到工作目录
mv /path/to/downloaded/anheyu-* ./anheyu

# 创建数据目录
mkdir -p data/storage data/temp
  1. 准备配置文件

创建 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 为可选配置,但建议启用以提升性能
  1. 运行应用
# 直接运行 (适合测试)
./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 版本支持两种方式设置授权密钥:

  1. 命令行参数:使用 --license-key 参数(推荐)
  2. 环境变量:设置 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
  1. 验证安装

启动成功后:

  • 访问 http://localhost:8091 进入 Anheyu
  • 检查日志确认无错误信息
  • 注册第一个用户(将自动成为管理员)
  1. 更新应用
# 停止当前运行的应用
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