Linux怎么安装和配置Appwrite Linux后端即服务平台部署详解

秋晨酱_4505

秋晨酱_4505

2026-04-24

202人浏览

原创

appwrite 在 linux 上可通过 docker run 一键安装,需 docker ≥20.10,首次启动需 2–5 分钟;必须修改 .env 中 appwrite_host 和 appwrite_domain 为公网 ip 或域名才能外网访问,且不可关闭 appwrite、mariadb、redis 三个核心服务。

linux怎么安装和配置appwrite linux后端即服务平台部署详解

Appwrite 在 Linux 上能直接用 docker run 一键安装

Linux 是 Appwrite 官方最优先支持的部署平台,不需要额外编译或依赖管理。只要系统装了 Docker(≥20.10)和 docker-compose(可选但推荐),就能用一条 docker run 命令完成初始化安装。

常见错误现象是执行后访问 @#@#@#@#@#@#@#@#@#@0 显示连接被拒绝,或控制台加载空白——这通常不是安装失败,而是容器还在拉取镜像、初始化数据库、生成 SSL 证书,整个过程在首次启动时可能耗时 2–5 分钟。

  • 确保 Docker daemon 正在运行:sudo systemctl is-active docker 应返回 active
  • 不要用 sudo 执行安装命令本身;但宿主机的 /var/run/docker.sock 必须可读写,普通用户需加入 docker 用户组:sudo usermod -aG docker $USER,然后重新登录终端
  • 安装目录(如 $(pwd)/appwrite)不能是 root 权限受限路径(比如 /root 或某些加密 home 目录),否则容器内进程无法写入配置
  • 首次运行会交互式询问端口(默认 80/443)、是否启用 HTTPS、管理员邮箱等,建议全程按回车用默认值,后续可在 Web 控制台或 .env 文件里调整

安装后必须改 .env 才能开放外网访问

Appwrite 默认只监听 127.0.0.1,即使你用云服务器部署,本地浏览器能打开,外部网络也连不上——这不是防火墙问题,而是它的 APPWRITE_HOST 和 APPWRITE_DOMAIN 配置没生效。

安装完成后,appwrite 目录下会生成一个 .env 文件。必须手动编辑它:

  • 将 APPWRITE_HOST=127.0.0.1 改为你的公网 IP 或域名(比如 APPWRITE_HOST=192.168.1.100 或 APPWRITE_HOST=api.example.com)
  • 同时设置 APPWRITE_DOMAIN 与之完全一致(否则 JWT cookie、重定向、WebSocket 连接都会出错)
  • 如果用反向代理(Nginx/Caddy),还需加 APPWRITE_FORWARDED_SECRET=your-secret 并在代理层透传 X-Forwarded-* 头

改完保存,重启服务:docker-compose -f appwrite/docker-compose.yml down && docker-compose -f appwrite/docker-compose.yml up -d

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载

docker-compose.yml 里哪些服务不能关

Appwrite 的 docker-compose.yml 默认启用了 7 个服务,但实际核心只有 4 个:

  • appwrite:主 API 服务,必须运行
  • appwrite-mariadb:数据库,不能关(哪怕你打算换 PostgreSQL,也要先跑起来初始化结构)
  • appwrite-redis:缓存 + 实时事件队列,关掉会导致实时订阅失效、部分后台任务卡住
  • appwrite-influxdb:监控指标存储,可关,不影响功能

其他如 appwrite-clickhouse(分析)、appwrite-meilisearch(搜索)属于按需启用模块,首次部署建议先保持默认,等业务跑稳再裁剪。

注意:不要手动删掉 yml 里的 service 块再重 up —— 安装脚本生成的 yml 是带初始化逻辑的,删了会导致 appwrite 容器反复 crash 并报错 failed to connect to mariadb: no route to host。

首次登录进不去控制台?检查 APPWRITE_PROJECT_ID 和管理员用户状态

安装完成后,浏览器打开 @#@#@#@#@#@#@#@#@#@0,填邮箱密码却提示 “Invalid credentials” 或 “Project not found”,大概率是以下两个原因:

  • 安装过程中你跳过了管理员账户创建(比如 Ctrl+C 中断了交互流程),此时数据库里没任何用户。解决方法:进容器执行初始化命令:docker exec -it appwrite-appwrite-1 sh -c "php /usr/src/code/appwrite/bin/install",它会重新走一遍引导流程
  • 你用 CLI 或 API 创建过项目,但没把生成的 APPWRITE_PROJECT_ID 写进前端 SDK 的初始化参数里。Web 控制台本身不依赖这个 ID,但如果你在自己写的前端里调用了 client.setProject() 却传了错的 ID,就会静默失败

真正容易被忽略的是:Appwrite 的管理员账户和项目是绑定的,不是全局账号。你在安装时创建的管理员,只属于它自动创建的那个默认项目(ID 通常是 6-character 随机串)。如果之后用 CLI 创建了新项目,那个项目默认没有成员,得手动在控制台的 “Users & Permissions” 里加进去。

所以别急着删默认项目——它不仅是入口,还是权限根节点。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2563

5

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

6550

13

后端的主要工作内容介绍
后端的主要工作内容介绍

后端是应用程序的服务端部分,负责核心任务,如数据库交互、业务逻辑处理和响应客户端请求。想了解更多后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

5966

10

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4110

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3493

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2713

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6590

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6242

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3613

8

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习