FRAPPE v16 +postgresql +insight+wiki安装

Frappe Framework + Insights + Wiki 安装教程(PostgreSQL 版)

这篇教程从 bench init 开始,完整安装:

  • Frappe Framework(v16)
  • Insights
  • Wiki

并使用远程 PostgreSQL(db_host)作为数据库。

变量约定

请先替换以下占位符:

  • app_host:你的站点名或访问域名/IP(例如 example.com)
  • db_host:PostgreSQL 服务器地址
  • StrongPassword:数据库用户密码和管理员密码(请使用强密码)

0. 准备 uv + Python 3.14

bash 复制代码
sudo apt update
sudo apt install -y software-properties-common curl git postgresql-client redis-server nodejs npm yarn

sudo add-apt-repository -y ppa:deadsnakes/ppa
sudo apt update
sudo apt install -y python3.14 python3.14-venv python3.14-dev

curl -LsSf https://astral.sh/uv/install.sh | sh
export PATH="$HOME/.local/bin:$PATH"
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc

python3.14 --version
uv --version

1. 初始化 Bench

bash 复制代码
uv tool install frappe-bench
export PATH="$HOME/.local/bin:$PATH"

deactivate 2>/dev/null || true
bench init ~/frappe-bench --frappe-branch version-16 --python /usr/bin/python3.14
cd ~/frappe-bench

2. 准备 PostgreSQL(远程数据库)

2.1 创建角色与数据库

bash 复制代码
export PGPASSWORD='StrongPassword'

psql -h db_host -p 5432 -U postgres -d postgres <<'SQL'
DO $$
BEGIN
  IF EXISTS (SELECT 1 FROM pg_roles WHERE rolname='supermodel') THEN
    EXECUTE format('ALTER ROLE %I WITH LOGIN PASSWORD %L', 'supermodel', 'StrongPassword');
  ELSE
    EXECUTE format('CREATE ROLE %I LOGIN PASSWORD %L', 'supermodel', 'StrongPassword');
  END IF;
END $$;

SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname='supermodel' AND pid <> pg_backend_pid();

DROP DATABASE IF EXISTS "supermodel";
CREATE DATABASE "supermodel" OWNER "supermodel";
SQL

2.2 配置 public schema 与扩展

bash 复制代码
psql -h db_host -p 5432 -U postgres -d supermodel <<'SQL'
CREATE SCHEMA IF NOT EXISTS public;
ALTER SCHEMA public OWNER TO "supermodel";
GRANT USAGE, CREATE ON SCHEMA public TO "supermodel";

CREATE EXTENSION IF NOT EXISTS pg_trgm WITH SCHEMA public;
CREATE EXTENSION IF NOT EXISTS unaccent WITH SCHEMA public;
CREATE EXTENSION IF NOT EXISTS "uuid-ossp" WITH SCHEMA public;

ALTER ROLE "supermodel" IN DATABASE "supermodel" SET search_path TO public;
ALTER DATABASE "supermodel" SET search_path TO public;
SQL

3. 创建站点(bench new-site)

bash 复制代码
cd ~/frappe-bench
bench new-site app_host \
  --db-type postgres \
  --db-host db_host \
  --db-port 5432 \
  --db-name supermodel \
  --db-user supermodel \
  --db-password 'StrongPassword' \
  --admin-password 'StrongPassword' \
  --no-setup-db \
  --force \
  --verbose

4. 安装 Insights

bash 复制代码
cd ~/frappe-bench
bench get-app insights https://github.com/frappe/insights --branch develop
bench --site app_host install-app insights
bench --site app_host migrate
bench build --app insights

5. 安装 Wiki

bash 复制代码
cd ~/frappe-bench
bench get-app wiki https://github.com/frappe/wiki --branch develop
bench --site app_host install-app wiki
bench --site app_host migrate
bench build --app wiki

6. 启动与访问

开发模式启动:

bash 复制代码
cd ~/frappe-bench
bench start

访问地址:

  • http://app_host:8000/insights
  • http://app_host:8000/wiki

常见问题

  1. frappe: ERROR (no such group)
    说明尚未配置 Supervisor 生产环境。开发模式可直接用 bench start。
相关推荐
赤龙ERP29 分钟前
ERP周报:连接器开闸、国产GPU进场与智能工厂253家
数据库·人工智能·大模型·rpa·erp·企业数字化·builderpattern
lusklusklusk36 分钟前
SQL Server补丁版本号为什么“日期新反而版本低”?——GDR、CU、CU+GDR 版本号规则与升级路径详解
数据库
key_3_feng1 小时前
评估与对齐:Agent 自我进化的护栏
前端·数据库·agent
TangGeeA1 小时前
数据库、SQL 与 DB AI
数据库·人工智能·sql
IvorySQL1 小时前
开源数据库进校园| 11 月 3 日,IvorySQL 校园行走进浙大宁波校区:从 PostgreSQL 扩展生态到 AI 实战
数据库·postgresql·开源
福建佰胜张工1 小时前
深度解析 Allen-Bradley 150-B135NBDA 智能电机控制器:选型、参数与工业应用
运维·数据库·单片机·嵌入式硬件·安全·自动化
`Levie1 小时前
MySQL-数据库服务日志管理与数据闪回
数据库·mysql
香蕉大香蕉(06敬畏市场)1 小时前
MySQL 单点详解(01)
java·数据库·mysql·面试·博客·实习
LaughingZhu2 小时前
Product Hunt 热榜 2026-10-30:Empacer、Scape、Floot in ChatGPT
java·前端·数据库·人工智能·chatgpt·notion
standxy2 小时前
即时库存同步实战:从旺店通拉取库存详情落库 MySQL 的完整策略
数据库·集成·电商