Anheyu LogoAnheyu

快速开始

学习如何快速开始使用 Anheyu

Redis 可选说明

Redis 是可选的

Anheyu 支持 Redis 自动降级功能,所有安装方式中 Redis 都是可选的:

  • 使用 Redis(推荐生产环境):获得更好的搜索性能、精确的访客统计、支持分布式部署
  • 不使用 Redis:自动降级到内存缓存,所有核心功能正常使用,适合单机部署和小型应用

如何选择?

  • 小型站点、测试环境:不需要配置 Redis
  • 生产环境、大流量站点:推荐配置 Redis 无论选择哪种方式,Anheyu 都能正常运行!

安装方式对比

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

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

推荐选择

推荐:Docker Compose

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

🏆 强烈推荐:Docker Compose

Docker Compose 优势:

  • 完整的生产环境 - 内置 MySQL/PostgreSQL 数据库
  • 完整多媒体处理 - 内置 VIPS、FFMpeg、LibRaw 等组件
  • 服务编排管理 - 自动处理服务依赖和启动顺序
  • 容器化隔离 - 环境一致性,避免依赖冲突
  • 便于扩展 - 支持负载均衡和横向扩展
  • 一键部署 - 无需手动配置复杂依赖
  • 便于维护 - 统一的升级和备份策略

二进制文件(备选):

  • ✅ 极低的资源占用和最快启动速度
  • ❌ 需要手动安装配置 MySQL/PostgreSQL
  • ❌ 需要手动安装多媒体处理组件
  • ❌ 需要手动管理服务依赖

生产环境建议: Docker Compose 是最佳选择,提供完整、稳定、易维护的生产环境。

推荐:源码部署

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

推荐:二进制文件(全新升级)

  • 开箱即用 - 下载即可运行,零配置启动
  • 静态编译 - 无运行时依赖,单文件部署
  • 最小内存占用 - 资源使用效率极高
  • 最快响应速度 - 原生性能,无容器开销
  • 自动初始化 - 自动创建配置和数据库
  • 适合资源受限环境 - 完美适配 VPS、边缘计算
  • ❌ 需要自己安装VIPS (图片处理)
  • ❌ 需要自己安装FFMPEG (视频处理)
  • ❌ 需要自己安装LibRaw (RAW图片支持)

适合场景: 快速测试、开发调试、资源受限环境。生产环境仍推荐 Docker Compose 以获得完整的功能支持。

详细对比

🐳 Docker Compose 适用场景: 大多数生产环境,快速部署

优势:

  • ✅ 一键部署包含所有依赖服务
  • ✅ 内置完整多媒体处理组件 (VIPS、FFMpeg)
  • ✅ 版本管理和升级简便
  • ✅ 环境隔离性好
  • ✅ 官方维护配置
  • ✅ 无需手动安装复杂依赖

劣势:

  • ❌ 需要 Docker 环境支持

🐳 Docker 适用场景: 已有 Docker 基础设施,需要灵活配置

优势:

  • ✅ 容器化部署
  • ✅ 环境一致性
  • ✅资源控制精确

劣势:

  • ❌ 需要手动管理数据库等依赖服务

🔧 源码部署 适用场景: 开发环境,需要定制功能 优势:

  • ✅ 完全的源码控制
  • ✅ 支持二次开发
  • ✅ 便于调试 劣势:
  • ❌ 环境配置复杂
  • ❌ 需要 Go 开发环境
  • ❌ 依赖管理繁琐

🎉 二进制文件(全新升级) 适用场景: 生产环境,追求极致性能,快速部署

🚀 全新优势:

  • 开箱即用 - 下载即可运行,零配置启动
  • 自动初始化 - 自动创建配置文件和数据库
  • 单文件部署 - 无需外部依赖和复杂配置
  • 启动速度最快 - 原生性能,秒级启动
  • 资源占用最少 - 内存和CPU使用效率极高
  • 跨平台支持 - Linux、macOS、Windows 全覆盖
  • 完全可定制 - 可随时切换数据库类型

劣势:

  • ❌ 需要手动安装多媒体处理组件 (VIPS、FFMpeg 等)
  • ❌ Pro版需要授权密钥

🎯 选择建议

首次使用推荐: - 想要完整功能体验:选择 Docker Compose,包含完整的多媒体处理能力 - 想要快速上手测试:选择 二进制文件,下载即用,零配置启动 生产环境强烈推荐: - 🏆 首选方案Docker Compose(内置 MySQL/PostgreSQL + VIPS + FFMpeg 等完整环境) - 备选方案:二进制文件 + 手动配置 MySQL/PostgreSQL + 多媒体组件 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 文件保存到此目录。

如下是一个包含所有必要服务的社区版 docker-compose.yml 文件示例。将其保存到服务端。

services:
  anheyu:
    image: anheyu/anheyu-backend:latest
    container_name: anheyu-backend
    depends_on:
      - anheyu_postgresql
      # Redis 是可选的,如果不需要可以注释掉下面这行
      - anheyu_redis
    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=
      # Redis 配置(可选)
      # 如果想使用 Redis,保持下面这行;如果不想使用,注释掉即可
      # 不配置时应用会自动降级到内存缓存
      - ANHEYU_REDIS_ADDR=anheyu_redis:6379
    volumes:
      - ./data:/anheyu/data
      - ./themes:/anheyu/themes
      - ./static:/anheyu/static
      - ./backup:/anheyu/backup

  anheyu_postgresql:
    # Best practice: Pin to major version.
    # NOTE: For major version jumps:
    # backup & consult https://www.postgresql.org/docs/current/pgupgrade.html
    image: postgres:18
    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

  # Redis 服务(可选)
  # 如果不需要 Redis,可以注释掉整个 anheyu_redis 服务
  anheyu_redis:
    image: redis:latest
    container_name: anheyu_redis
    volumes:
      - redis_data:/data

volumes:
  database_postgres:
  redis_data:

如下是一个包含所有必要服务的 Pro 版 docker-compose.yml 文件示例。将其保存到服务端。

services:
  anheyu:
    image: anheyu/pro:latest
    container_name: anheyu-backend
    depends_on:
      anheyu_postgresql:
        condition: service_healthy
      # Redis 是可选的,如果不需要可以注释掉下面的配置
      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=
      # Redis 配置(可选)
      # 如果想使用 Redis,保持下面这行;如果不想使用,注释掉即可
      # 不配置时应用会自动降级到内存缓存
      - ANHEYU_REDIS_ADDR=anheyu_redis:6379
      - ANHEYU_LICENSE_KEY=你的授权密钥
    volumes:
      - ./data:/anheyu/data
      - ./themes:/anheyu/themes
      - ./static:/anheyu/static
      - ./backup:/anheyu/backup

  anheyu_postgresql:
    # Best practice: Pin to major version.
    # NOTE: For major version jumps:
    # backup & consult https://www.postgresql.org/docs/current/pgupgrade.html
    image: postgres:18
    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
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U anheyu -d anheyu"]
      interval: 5s
      timeout: 5s
      retries: 5

  # Redis 服务(可选)
  # 如果不需要 Redis,可以注释掉整个 anheyu_redis 服务
  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 授权管理面板,点击获取授权密钥按钮,将获取到的授权密钥保存到 ANHEYU_LICENSE_KEY 环境变量中(替换刚刚的docker-compose.yml文件里面的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. 运行容器

社区版 Docker 部署有两种方式:使用 Redis(推荐)或不使用 Redis

方式 1:使用 Redis(推荐生产环境)

# 启动 Redis
docker run -d \
  --name anheyu-redis \
  -p 6379:6379 \
  redis:latest

# 启动 Anheyu(使用 Redis)
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

方式 2:不使用 Redis(自动降级到内存缓存)

# 启动 Anheyu(不配置 Redis)
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 \
  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: 获得更好的搜索性能、精确的访客统计、支持分布式部署
  • 不使用 Redis: 自动降级到内存缓存,适合单机部署和小型应用

核心功能在两种模式下都能正常使用。

Pro 版需要外部数据库支持,Redis 是可选的:

方式 1:使用 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:17

# 启动 Redis
docker run -d \
  --name anheyu-redis \
  -p 6379:6379 \
  redis:latest

# 启动 Anheyu Pro(使用 Redis)
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=你的授权密钥 \
  anheyu/pro:latest

方式 2:不使用 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:17

# 启动 Anheyu Pro(不配置 Redis)
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_LICENSE_KEY=你的授权密钥 \
  anheyu/pro:latest

Pro 版注意事项

  • 需要先获取 Pro 版授权和镜像仓库凭证
  • PostgreSQL 是必需的依赖服务
  • Redis 是可选的,不配置会自动降级到内存缓存
  • 使用 host.docker.internal 来访问宿主机上的数据库和Redis服务
  • 或者使用 --network host 模式运行容器

Redis 可选说明

Pro 版所有专属功能(付费内容、密码保护、支付订单等)都不依赖 Redis。 Redis 仅用于提升搜索和统计功能的性能,不影响 Pro 核心功能使用。

  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,系统将自动使用内存缓存
# 推荐生产环境使用 Redis 以获得更好的性能
[Redis]
Addr = localhost:6379
Password =
DB = 10

Redis 配置说明

Redis 是可选配置,如果不配置或留空 Addr 字段,系统会自动降级到内存缓存。 推荐生产环境使用 Redis 以获得更好的搜索性能和访客统计功能。

  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)

二进制文件部署

🏆 生产环境推荐

虽然二进制文件支持开箱即用,但生产环境强烈推荐使用 Docker Compose 部署:

  • ✅ 包含完整的 MySQL/PostgreSQL 数据库环境
  • ✅ 内置 VIPS、FFMpeg 等多媒体处理组件
  • ✅ 更稳定可靠的生产环境配置

二进制文件适合: 快速测试、开发调试、资源受限环境

  1. 系统要求

支持的操作系统和架构:

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

开箱即用 🎉

社区版和 Pro 版都支持开箱即用!

  • 零配置启动 - 直接运行即可,无需手动创建配置文件
  • 自动初始化 - 自动创建 SQLite 数据库和必要目录
  • 单文件部署 - 静态编译,无需额外依赖
  • 完全可定制 - 可随时修改配置文件切换到其他数据库

Pro 版额外要求: 启动时需要提供授权密钥 ANHEYU_LICENSE_KEY

  1. 下载二进制文件

🚀 快速开始(推荐)

最简单的方式: 下载二进制文件后直接运行,无需任何配置!

# 下载并运行(以 Linux AMD64 为例)
wget https://github.com/anzhiyu-c/anheyu-app/releases/latest/download/anheyu-app-linux-amd64
chmod +x anheyu-app-linux-amd64
./anheyu-app-linux-amd64

# 应用将自动:
# ✅ 创建 data/conf.ini 配置文件(使用 SQLite)
# ✅ 创建 data/anheyu_app.db 数据库文件
# ✅ 启动服务在 http://localhost:8091

就这么简单!无需手动创建配置文件或数据库。

完整下载命令:

# 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. 创建工作目录(可选)

工作目录说明

社区版: 可以在任意目录直接运行二进制文件,应用会自动创建所需的目录和配置文件。

Pro版: 建议创建专门的工作目录以便管理。

# 可选:创建专门的安装目录
mkdir -p ~/anheyu
cd ~/anheyu

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

# 注意:data 目录会在首次运行时自动创建
  1. 配置文件(自动创建)

🎉 自动创建配置文件

无需手动创建! 首次运行时,应用会自动创建 data/conf.ini 配置文件,默认使用 SQLite 数据库。

自动生成的配置文件内容:

[System]
Port = 8091
Debug = false

[Database]
Type = sqlite
Name = anheyu_app.db
Debug = false

# Redis 配置(可选)
# 如果不配置或留空 Addr,系统将自动使用内存缓存
# 推荐生产环境使用 Redis 以获得更好的性能和功能
[Redis]
Addr =
Password =
DB = 0

配置文件自定义

如需使用其他数据库: 可以在首次运行后修改 data/conf.ini 文件:

切换到 MySQL:

[Database]
Type = mysql
Host = 127.0.0.1
Port = 3306
User = root
Password = root
Name = anheyu_app

切换到 PostgreSQL:

[Database]
Type = postgres
Host = 127.0.0.1
Port = 5432
User = postgres
Password = password
Name = anheyu_app

修改后重启应用即可生效。

🎉 Pro 版也支持开箱即用

Pro 版同样支持开箱即用! 首次运行时会自动创建 data/conf.ini,默认使用 SQLite,只需要提供授权密钥即可。

自动生成的配置文件内容:

[System]
Port = 8091
Debug = false

[Database]
Type = sqlite
Name = anheyu_app.db
Debug = false

# Redis 配置(可选)
# PRO 版本继承社区版的 Redis 自动降级功能
# 如果不配置或留空 Addr,系统将自动使用内存缓存
# 推荐生产环境使用 Redis 以获得更好的性能和功能
[Redis]
Addr =
Password =
DB = 0

Pro 版数据库配置(推荐)

虽然默认使用 SQLite,但强烈推荐切换到 MySQL 或 PostgreSQL 以获得更好的性能和稳定性:

切换到 MySQL:

[Database]
Type = mysql
Host = 127.0.0.1
Port = 3306
User = root
Password = root
Name = anheyu_app

切换到 PostgreSQL:

[Database]
Type = postgres
Host = 127.0.0.1
Port = 5432
User = postgres
Password = password
Name = anheyu_app

Pro 版注意事项

  • 必须设置授权密钥 ANHEYU_LICENSE_KEY(环境变量或命令行参数)
  • 虽然支持 SQLite,但强烈推荐使用 MySQL/PostgreSQL
  • 生产环境推荐使用 Docker Compose 部署,包含完整的数据库和多媒体处理环境
  • Redis 是可选的,不配置会自动降级到内存缓存
  1. 运行应用

🚀 零配置启动

社区版现在支持零配置启动! 直接运行二进制文件即可,无需任何预先配置。

应用将自动:

  • ✅ 创建 data/conf.ini 配置文件(SQLite 模式)
  • ✅ 创建 data/anheyu_app.db 数据库文件
  • ✅ 创建必要的目录结构
  • ✅ 启动服务在 http://localhost:8091
# 零配置直接运行 (推荐首次使用)
./anheyu

# 首次运行时会看到类似输出:
# 提示: 未找到 data/conf.ini,将创建默认配置文件。
# ✅ 已创建默认配置文件: data/conf.ini
# 从 data/conf.ini 文件加载了默认配置。
# ✅ 配置加载器初始化完成。
# 【提示】SQLite 数据库路径: data/anheyu_app.db
# ✅ Sqlite 数据库连接池创建成功!
# 应用程序启动成功,正在监听端口: 8091
# 后台运行
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 版开箱即用

Pro 版同样支持开箱即用! 只需要提供授权密钥即可零配置启动。

应用将自动:

  • ✅ 创建 data/conf.ini 配置文件(SQLite 模式)
  • ✅ 创建 data/anheyu_app.db 数据库文件
  • ✅ 创建必要的目录结构
  • ✅ 启动服务在 http://localhost:8091

授权密钥设置

Pro 版本支持两种方式设置授权密钥:

  1. 命令行参数:使用 --license-key 参数(推荐)
  2. 环境变量:设置 ANHEYU_LICENSE_KEY 环境变量

命令行参数优先级更高,如果同时设置,将使用命令行参数的值。

# 零配置启动 Pro 版 (推荐)
./anheyu --license-key "你的授权密钥"

# 首次运行时会看到类似输出:
# 提示: 未找到 data/conf.ini,将创建默认配置文件。
# ✅ 已创建默认配置文件: data/conf.ini
# 从 data/conf.ini 文件加载了默认配置。
# ✅ 配置加载器初始化完成。
# 【提示】SQLite 数据库路径: data/anheyu_app.db
# ✅ Sqlite 数据库连接池创建成功!
# 应用程序启动成功,正在监听端口: 8091

# 其他启动方式:
# 方式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

🎉 二进制部署优势(全新升级)

社区版现已实现真正的开箱即用:

  • 零配置部署 - 下载即用,无需任何预先配置
  • 自动初始化 - 自动创建配置文件和数据库
  • 单文件部署 - 无需编译环境和外部依赖
  • 极速启动 - 文件体积小,启动速度快
  • 跨平台支持 - 支持 Linux、macOS、Windows 多架构
  • 完全可定制 - 可随时修改配置切换数据库

适合场景: 快速测试、开发调试、资源受限环境

使用建议

社区版:

  • ✅ 支持开箱即用,适合快速测试
  • ⚠️ 生产环境推荐使用 Docker Compose
  • ⚠️ 默认 SQLite 仅适合小型站点,建议切换到 MySQL/PostgreSQL

Pro 版:

  • ✅ 支持开箱即用,但仅适合测试环境
  • ⚠️ 生产环境强烈推荐使用 Docker Compose 部署
  • ⚠️ 需要设置授权密钥 ANHEYU_LICENSE_KEY
  • ⚠️ 推荐使用 MySQL/PostgreSQL 而不是 SQLite

注意事项

  • 确保下载的二进制文件与系统架构匹配
  • 生产环境建议使用系统服务管理
  • 定期备份 data 目录
  • 如需更好性能可配置 Redis(可选)

下一步

安和鱼 默认会监听 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