Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Appwrite - 独立开发也可以像一个团队那样高效

Appwrite - 独立开发也可以像一个团队那样高效

作者头像
埃兰德欧神
发布于 2024-07-15 05:29:45
发布于 2024-07-15 05:29:45
69602
代码可运行
举报
文章被收录于专栏:开源地带开源地带
运行总次数:2
代码可运行

左边为之前的logo,右边为新logo

Appwirte是什么

Appwrite是一个基于Docker的端到端开发者平台,其容器化的微服务库可应用于网页端,移动端,以及后端。Appwrite 通过视觉化界面简化了从零开始编写 API 的繁琐过程,在保证软件安全的前提下为开发者创造了一个高效的开发环境。

Appwrite 可以提供给开发者:用户验证,外部授权,用户数据读写检索,文件储存,图像处理云函数,消息(邮件,SMS,移动端原生消息),实时事件(类似多人协作场景)等多种服务.

产品的口号是:独立开发也可以像一个团队那样高效,用很少的代码可以构建一个安全可扩展的应用。

Your backend, minus the hassle Build secure and scalable applications with less code. Add authentication, databases, storage, and more using Appwrite's development platform.

本地安装

Appwrite 的容器化服务器只需要一行指令就可以运行。您可以使用 docker-compose 在本地主机上运行 Appwrite,也可以在任何其他容器化工具(如 Kubernetes、Docker Swarm 或 Rancher)上运行 Appwrite。

启动 Appwrite 服务器的最简单方法是运行我们的 docker-compose 文件。在运行安装命令之前,请确保您的机器上安装了 Docker:

Linux & Macos
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker run -it --rm \
    --volume /var/run/docker.sock:/var/run/docker.sock \
    --volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
    --entrypoint="install" \
    appwrite/appwrite:latest
Windows
  1. CMD
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker run -it --rm ^
    --volume //var/run/docker.sock:/var/run/docker.sock ^
    --volume "%cd%"/appwrite:/usr/src/code/appwrite:rw ^
    --entrypoint="install" ^
    appwrite/appwrite:latest
  1. PowerShell
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker run -it --rm `
    --volume /var/run/docker.sock:/var/run/docker.sock `
    --volume ${pwd}/appwrite:/usr/src/code/appwrite:rw `
    --entrypoint="install" `
    appwrite/appwrite:latest

运行后,可以在浏览器上访问 http://localhost 找到 Appwrite 控制台。在非 Linux 的本机主机上完成安装后,服务器可能需要几分钟才能启动。

需要自定义容器构架,可以查看 Docker 环境变量https://appwrite.io/docs/environment-variables 文档。还可以参考我们的 docker-compose.ymlhttps://appwrite.io/install/compose 和 .envhttps://appwrite.io/install/env 文件手动设置环境。

入门

1. 认证

集成使用多种登录方式(如电子邮件/密码、短信OAuth、匿名、魔法链接等)对用户进行身份验证

  • 30多种登录方式
  • 支持团队、角色和用户标签
  • 速率限制和高级用户保护
  • 自定义SMTP和电子邮件模板
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const result = account.create(
 ID.unique(),
 'walterobrian@example.com', 
 'password',
 "Walter O'Brian"
);

注册登录

2. 数据库

存储、查询和管理数据,可扩展且可靠的数据库

  • 安全稳定
  • 快速内存缓存
  • 高级权限模型
  • 自定义数据验证
  • 支持外键关联
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const result = databases.createDocument( 'Your-tasks', tasks, ID.unique(), {
 'description': 'Research user needs', 
 'tags': ['UX', 'design'], 
 } 
);
3. 存储

上传和管理文件,安全地存储文件,具有高级压缩、加密和图像转换功能。

  • 文件静态和传输加密
  • 内置图像转换功能
  • 支持WebP/Brotli的高级压缩
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const result = storage.createFile(
 'my-bucket',
 ID.unique(),
 document.getElementById("uploader").files[0]
);

文件上传

4. Serverless Function

使用Function可以自定义和扩展你的后端,部署和扩展在安全、隔离的运行时中运行的无服务器函数。

  • GitHub自动部署
  • 使用GitHub、CLI、事件监听器或HTTP请求触发
  • 本地部署目前支持30多种运行时,13种语言(基本涵盖所有的后端语言和技术)
  • Appwrite Cloud目前支持 node php-8.0 ruby-3.0 python-3.9 dart-2.17
  • 自定义域名支持
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const userId = req.headers['user-id']; 

if (req.path === '/subscribe') { 
 const session = await stripe.checkout(userId); 
 return res.redirect(session.url, 303); 
} 

if (req.path === '/webhook') { 
 await appwrite.addSubscriberLabel(userId); 
} 

return res.json({ success: true });
5. 实时事件

实时事件适用于所有服务,订阅并使用实时API对任何Appwrite事件做出反应。

  • 无限订阅
  • 内置权限管理
  • 支持数据库、身份验证、存储和函数

多人协作场景

软件架构

系统架构图

从架构图上可以看出Appwrite 使用高拓展性的微服务架构。Appwrite 目前支持多种 API(REST、WebSocket 和 GraphQL),您可以根据开发习惯灵活选择。

Appwrite API 界面层利用后台缓存和任务委派来提供极速的响应时间。后台的 Worker 代理还允许使用消息队列来处理负载,并精确控制硬件合理分配和成本。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-03-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源地带 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Docker项目实战:轻松部署你的Arcane容器管理平台
通过本次实战,我们成功部署了 Arcane 容器管理平台,实现了对 Docker 环境的可视化与集中管理。Arcane 凭借其简洁的界面和实用的功能,为容器、镜像、网络及数据卷的管理带来了极大便利。虽然项目仍处于开发阶段,但其轻量高效的特点已展现出良好的使用潜力。
江湖有缘
2025/09/12
470
Docker项目实战:轻松部署你的Arcane容器管理平台
【Docker项目实战】使用Docker部署Checkmate监控应用程序
通过本次实战,我们成功使用 Docker 部署了 Checkmate 监控应用,实现了对服务器和各类服务的可视化监控。整个部署过程简洁高效,得益于 Docker 的容器化优势,环境依赖和配置更加统一与可控。Checkmate 提供了丰富的监控功能,如网站、端口、SSL 和 Docker 容器监控,非常适合中小型团队用于构建自托管监控系统。通过持续优化配置和结合实际业务需求,可以进一步提升系统的可观测性与稳定性。
江湖有缘
2025/09/13
210
【Docker项目实战】使用Docker部署Checkmate监控应用程序
Docker项目实践:部署docker-port-viewer监控容器端口
通过本次 Docker 项目实践,我们成功部署了 docker-port-viewer,实现了一个轻量级但功能强大的容器端口监控与访问工具。该工具不仅提升了对运行中容器的可视化管理能力,还简化了开发者调试和操作容器服务的流程。借助现代前端技术和安全的 Docker 套接字代理机制,项目展示了如何将容器管理集成到现代化 Web 应用中,具备良好的实用性和扩展性。
江湖有缘
2025/09/03
940
Docker项目实践:部署docker-port-viewer监控容器端口
46.5k star,以一当百,一个人完成一个团队的任务
今天推荐一款开源的项目appwrite,不仅可以一次性的解决上述问题,让你的开发效率加倍,还可以有很多延展功能。
大侠之运维
2025/01/22
1580
基于gitea+drone完成小团队的CI/CD
持续集成和构建的工具有很多,除了著名的 Jenkins,Travis,CircleCI,还有最近比较热门的 Github Action 和 Gitlab CI/CD。但是这些工具面对私人项目不是要收费就是占用大量服务器资源,作为个人开发者的私人项目如果想要使用并不友好。那么开源免费的 Drone CI 是个不错选择,它不但非常轻量,而且十分强大。并可以结合私有代码仓库自动编译、构建服务,几行脚本即可实现自动化部署。本文讲述 Drone CI 的具体实践,结合Gitea,怎么在 VPS 里从零开始搭建一个基于 Gitea + Drone CI 的持续集成系统。
mikelLam
2022/10/31
2.9K0
基于gitea+drone完成小团队的CI/CD
玩转Gitea之Gitea Actions安装使用
这里同样是使用Docker Compose进行安装,安装之前先在部署好的Gitea上去获取Token用于注册Runner。
熙世
2024/05/26
2.7K0
发现一款吊炸天的 Docker 图形化管理工具,必须推荐给你!
Portainer 是 Docker 的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm 集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足个人用户对容器管理的全部需求。
民工哥
2021/07/16
7970
发现一款吊炸天的 Docker 图形化管理工具,必须推荐给你!
【Docker管理工具】安装Docker容器自动更新工具Watchtower
江湖有缘
2023/12/21
6.2K0
【Docker管理工具】安装Docker容器自动更新工具Watchtower
一文学会Docker使用
Docker我以前学过,但是太久没用,忘得差不多了。。。这几天准备把写好的Django应用通过Docker部署到服务器,所以重新复习了Docker,于是写了此文,希望对想使用Docker的你有所帮助。
小简
2022/12/29
6120
一文学会Docker使用
基于Docker UI 配置ceph集群
前一篇介绍了docker在命令行下面进行的ceph部署,本篇用docker的UI进行ceph的部署,目前来说市面上还没有一款能够比较简单就能直接在OS上面去部署Ceph的管理平台,这是因为OS的环境差异化太大,并且包的版本,以及各种软件的适配都可能造成失败,而docker比较固化环境,因此即使一个通用的UI也能很方便的部署出一个Cpeh集群
用户2772802
2018/08/06
8200
基于Docker UI 配置ceph集群
Docker 使用指南及日常命令集锦
本文是一份全面的 Docker 技术指南,涵盖了从基础概念到高级实践的完整知识体系。文档系统性地介绍了 Docker 的核心技术、安装配置、日常操作、网络与存储管理、安全实践以及生产环境部署等关键内容。
熊猫钓鱼
2025/08/01
2060
【Docker管理工具】部署Docker管理面板DweebUI
DweebUI 是一款专为管理容器设计的 Web 用户界面(WebUI),它旨在简化 Docker 容器的管理和监控。通过一个直观且用户友好的界面,DweebUI 提供了对服务器和容器指标的实时洞察,并支持多用户环境下的权限管理。无论是个人开发者还是团队协作,DweebUI 都能提供高效、便捷的容器管理体验。
江湖有缘
2025/01/29
6560
【Docker管理工具】部署Docker管理面板DweebUI
6.Docker使用辅助工具汇总
more information: https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
全栈工程师修炼指南
2020/10/23
2.4K0
6.Docker使用辅助工具汇总
Docker 入门指南
Docker是基于Go开发的应用容器引擎,属于 Linux 容器的一种封装,提供简单易用的容器使用接口。
被水淹没
2023/02/25
2.3K0
Docker 入门指南
容器集群管理工具 Docker Swarm
《Docker 镜像仓库基本使用》中有提到容器编排工具 docker compose ,不过只限于单机。
王二蛋
2024/05/04
4480
Docker-Compose的一些常用命令
Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。 Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像,参数,依赖。一个服务当中可包括多个容器实例,Docker-Compose并没有解决负载均衡的问题,因此需要借助其它工具实现服务发现及负载均衡。 Docker-Compose的工程配置文件默认为docker-compose.yml,可通过环境变量COMPOSE_FILE或-f参数自定义配置文件,其定义了多个有依赖关系的服务及每个服务运行的容器。 使用一个Dockerfile模板文件,可以让用户很方便的定义一个单独的应用容器。在工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个Web项目,除了Web服务容器本身,往往还需要再加上后端的数据库服务容器,甚至还包括负载均衡容器等。 Compose允许用户通过一个单独的docker-compose.yml模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。 Docker-Compose项目由Python编写,调用Docker服务提供的API来对容器进行管理。因此,只要所操作的平台支持Docker API,就可以在其上利用Compose来进行编排管理。
javascript.shop
2019/09/04
20.3K0
docker 系列:实践工具
本文将介绍 Docker 的相关工具使用经验,比如 Docker-compose:容器编排工具;Portainer:容器可视化管理;以及 DockerFile 的构建。相当于是一套组合拳。让我们能更轻松、更方便去管理 Docker。
lincoln
2021/10/20
5520
docker 系列:实践工具
墙裂推荐!看完全面掌握,最详细的 Docker 学习笔记总结(2021最新版)
Docker 是一个开源的容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者和系统管理员在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括 VMs(虚拟机)、bare metal、OpenStack 集群、云端、数据中心和其他的基础应用平台。容器是完全使用沙箱机制,相互之间不会有任何接口。
民工哥
2021/04/18
3.7K0
你所不了解的 Traefik
在之前的文章中,我们简单介绍了关于 Traefik 的相关概念及组件原理机制,具体可参考:为什么选择 Traefik Ingress ?
Luga Lee
2021/11/18
1.1K1
你所不了解的 Traefik
99%的人没使用过它俩,Docker最佳实践+2
平时可能因为测试或者一些规范的操作方式导致启动一个容器,忘记了这个容器的启动命令是什么了,又需要找回来在别的机器上创建的时候,就很麻烦,可能很多人会想到通过docker inspect分析输出的json文件中的volume、ports、Env等
公众号: 云原生生态圈
2021/06/10
5340
99%的人没使用过它俩,Docker最佳实践+2
推荐阅读
相关推荐
Docker项目实战:轻松部署你的Arcane容器管理平台
更多 >
领券
一站式MCP教程库,解锁AI应用新玩法
涵盖代码开发、场景应用、自动测试全流程,助你从零构建专属AI助手
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档