appwrite / server-ce
面向前端和移动应用的端到端后端服务器。
Requires
- php: >=8.0.0
- ext-curl: *
- ext-dom: *
- ext-imagick: *
- ext-json: *
- ext-mbstring: *
- ext-openssl: *
- ext-pdo: *
- ext-redis: *
- ext-sockets: *
- ext-swoole: *
- ext-yaml: *
- ext-zlib: *
- adhocore/jwt: 1.1.2
- appwrite/php-clamav: 2.0.*
- appwrite/php-runtimes: 0.15.*
- chillerlan/php-qrcode: 4.3.4
- dragonmantank/cron-expression: 3.3.2
- league/csv: 9.14.*
- matomo/device-detector: 6.1.*
- phpmailer/phpmailer: 6.9.1
- spomky-labs/otphp: ^10.0
- utopia-php/abuse: 0.43.0
- utopia-php/analytics: 0.10.*
- utopia-php/audit: 0.43.0
- utopia-php/cache: 0.10.*
- utopia-php/cli: 0.15.*
- utopia-php/config: 0.2.*
- utopia-php/database: 0.53.*
- utopia-php/domains: 0.5.*
- utopia-php/dsn: 0.2.1
- utopia-php/fetch: 0.2.*
- utopia-php/framework: 0.33.*
- utopia-php/image: 0.6.*
- utopia-php/locale: 0.4.*
- utopia-php/logger: 0.6.*
- utopia-php/messaging: 0.12.*
- utopia-php/migration: 0.5.*
- utopia-php/orchestration: 0.9.*
- utopia-php/platform: 0.7.*
- utopia-php/pools: 0.5.*
- utopia-php/preloader: 0.2.*
- utopia-php/queue: 0.7.*
- utopia-php/registry: 0.5.*
- utopia-php/storage: 0.18.*
- utopia-php/swoole: 0.8.*
- utopia-php/system: 0.8.*
- utopia-php/vcs: 0.8.*
- utopia-php/websocket: 0.1.*
- webonyx/graphql-php: 14.11.*
Requires (Dev)
- ext-fileinfo: *
- appwrite/sdk-generator: 0.39.*
- laravel/pint: ^1.14
- phpbench/phpbench: ^1.2
- phpunit/phpunit: 9.5.20
- swoole/ide-helper: 5.1.2
- textalk/websocket: 1.5.7
Provides
- dev-main
- 1.6.x-dev
- 1.6.0
- 1.6.0-RC9
- 1.6.0-RC8
- 1.6.0-RC7
- 1.6.0-RC6
- 1.6.0-RC5
- 1.6.0-RC4
- 1.6.0-RC3
- 1.6.0-RC2
- 1.6.0-RC1
- 1.5.x-dev
- 1.5.11
- 1.5.10
- 1.5.9
- 1.5.8
- 1.5.7
- 1.5.6
- 1.5.5
- 1.5.4
- 1.5.3
- 1.5.2
- 1.5.1
- 1.5.0
- 1.4.x-dev
- 1.4.14
- 1.4.13
- 1.4.12
- 1.4.11+4
- 1.4.10
- 1.4.9
- 1.4.8
- 1.4.7
- 1.4.6
- 1.4.6-RC2
- 1.4.6-RC1
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.x-dev
- 1.3.8
- 1.3.7
- 1.3.6
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.x-dev
- 1.2.1
- 1.2.0
- 1.1.x-dev
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.x-dev
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 1.0.0-RC1
- 0.15.3
- 0.15.2
- 0.15.1
- 0.15.0
- 0.14.2
- 0.14.1
- 0.14.0
- 0.13.4
- 0.13.3
- 0.13.2
- 0.13.1
- 0.13.0
- 0.12.4
- 0.12.3
- 0.12.2
- 0.12.1
- 0.12.0
- 0.11.2
- 0.11.1
- 0.11.0
- 0.10.4
- 0.10.3
- 0.10.2
- 0.10.1
- 0.10.0
- 0.9.4
- 0.9.3
- 0.9.2
- 0.9.1
- 0.9
- 0.8.0
- 0.7.2
- 0.7.1
- 0.7.0
- 0.6.2
- 0.6.1
- 0.6.0
- 0.5.3
- 0.5.2
- 0.5.1
- 0.5.0
- 0.4.0
- 0.3.0
- 0.2.0
- 0.1.15
- 0.1.13
- dev-migrations-backups
- dev-multi-region-support
- dev-feat-console-roles-dl
- dev-lohanidamodar-patch-3
- dev-feat-make-create-execution-async-loose
- dev-fix-flaky-tests
- dev-fix-unwanted-logs
- dev-chore-request-response-filter-tests
- dev-feat-coroutine
- dev-fix-runtime-values
- dev-chore-remove-sleep
- dev-1.5.x-db-storage-metrics
- dev-chore-move-scheduled-functions-tests
- dev-1.6.x-no-docs
- dev-feat-test-perf-2
- dev-chore-update-databases-findone
- dev-extrnal-messaging-usage
- dev-new-inf-metric
- dev-feat-migration
- dev-fix-restart-usage-dump
- dev-db-project-by-region
- dev-docs-fix-endpoints
- dev-feat-1.5.x-mfa-emails
- dev-chore-change-response-type-to-multipart
- dev-fix-go-runtime
- dev-EVDOG4LIFE-patch-2
- dev-update-sdks-1.6
- dev-fix-flaky-function-tests
- dev-feat-single-shared-metadata-docs
- dev-feat-development-keys
- dev-feat-heic-support
- dev-feat-build-plan
- dev-fix-migartion
- dev-fix-blog-links
- dev-feat-appwrite-lite
- dev-feat-enum-statuses
- dev-fix-execution-usage-not-imcrementing
- dev-EVDOG4LIFE-patch-1
- dev-feat-add-header-validator
- dev-feat-avif-support
- dev-feat-add-APPWRITE_ENV
- dev-feat-split-migrations
- dev-feat-console-roles
- dev-docs-update-SDK-examples
- dev-feat-ghcr
- dev-feat-implement-webauthn
- dev-feat-clean-mail-vars
- dev-debug-functions-benchmark
- dev-delayed-project-deletion
- dev-feat-sn-database-storage-usage
- dev-feat-gb-hours
- dev-feat-runtime-controls
- dev-sync-with-main
- dev-feat-remove-detailed-trace
- dev-chore-bump-console-4.3.20
- dev-feat-scheduled-executions
- dev-refactor-multi-region-sync
- dev-feat-implement-database-storage-metrics
- dev-feat-file-tokens
- dev-feat-add-appwrite-version
- dev-chore-release-php-sdk
- dev-fix-cache-client-expiration
- dev-refactor-usage-sn
- dev-test-previews
- dev-draft-test-the-test
- dev-fix-timeout-test
- dev-refactor_usage_fix_delete_attribute
- dev-exteand-deletes-worker
- dev-project-backups
- dev-feat-invalidate-sessions
- dev-feat-add-timeout-env-to-variables
- dev-chore-update-1.6-specs
- dev-feat-analytics-events-clean
- dev-fix-usage-skip
- dev-feat-team-sync-deletion
- dev-feat-update-queue-failed
- dev-EvanBump
- dev-refactor-usage-sn-collection-not-found-error
- dev-refactor-usage-sn-delete-exeption
- dev-fix-5901-fix-resend-team-invite
- dev-test-fix-healthcheck-cert-test
- dev-feat-upgrade-logger
- dev-fix-executor-falires
- dev-check-cursor-value
- dev-fix-oauth-email-verification
- dev-feat-sync-team-deletion
- dev-chore-upgrade-utopia-cli
- dev-chore-upgrade-executor-version
- dev-revert-7776-feat-react-native-sdk
- dev-feat-migration-logging-fixes
- dev-feat-add-more-migration-tags
- dev-refactor-slow-file-downloads
- dev-fix-backwards-compatibility
- dev-lohanidamodar-patch-7
- dev-feat-eldad2-coroutines
- dev-feat-generate-events-specs
- dev-refactor-usage-sn-collection-not-found
- dev-refactor-usage-sn-invalid-relationship
- dev-feat-eldad-coroutines
- dev-tmp-storage-logs
- dev-single-worker-test
- dev-feat-improve-vcs-comment
- dev-rollback-logging-experiment
- dev-fix-identities-query-to-use-internal-ids
- dev-fix-migration-1.4.x
- dev-fix-timeout-issue
- dev-feat-coroutines
- dev-feat-database-proxy
- dev-collectionid-databaseid-select
- dev-fix-endpoint-order
- dev-feat-fix-favicon-external-checks
- dev-info-duplicate-exception
- dev-fix-unqiue-id-custom-function
- dev-fix-mfa-email
- dev-migration-new-error-handling
- dev-feat-smart-traefik-balancing
- dev-fix-templates-copy-dotgitignore
- dev-fix-delete-sessions-events
- dev-feat-ssr-revert-scopes
- dev-feat-oauth-token-endpoint
- dev-feat-use-geosms-2
- dev-feat-certificate-health-endpoint
- dev-feat-check-certificate-validity
- dev-fix-email-otp
- dev-fix-user-count-exceeded-error
- dev-feat-use-geosms
- dev-refactor-move-cli-scripts
- dev-feat-custom-dns
- dev-lohanidamodar-patch-1
- dev-feat-session-cookies
- dev-shmuel.1
- dev-feat-auto-translations
- dev-feat-delete-console-users
- dev-feat-framework-view-hmtl-escape
- dev-fix-wildcard-hostnames
- dev-refactor-duplicate-document
- dev-rename-stats-collection
- dev-feat-new-usage-metric
- dev-feat-1.5-auth
- dev-feat-allow-overrde-email-base-template
- dev-feat-improve-db-override
- dev-feat-delete-orphaned-projects
- dev-fix-error-code-for-unsupported-protocol
- dev-same-two-way-key
- dev-fix_inputfilelink_in_storage_references
- dev-fix-anon-auth-code
- dev-feat-multithreaded-hamster
- dev-issues-6937
- dev-sync_1.4.x_with_1.5.x
- dev-usage-1.4-sn
- dev-feat-resque-scheduler-worker
- dev-feat-framework-v2-new
- dev-fix-5851-issue
- dev-feat-usage-1.4
- dev-feat-rename-logs-queue
- dev-revert-6350-update-references
- dev-patch-oauth-flows
- dev-bump-db-version
- dev-db-pool-backup-stream
- dev-temp-branch
- dev-eldadfux-patch-1
- dev-fix-project-variables-endpoints
- dev-feat-connection-loop
- dev-feat-release-flutter-dart-sdk
- dev-fix-verified-sdks
- dev-feat-upgraded-db-on-cl-1.1.x
- dev-feat-messaging-worker
- dev-feat-migrations-cl-1.4.x
- dev-poc-timeout
- dev-feat-framework-v2
- dev-feat-implement-transfers
- dev-feat-query-support-attributes
- dev-feat-new-router
- dev-fix-5404-update-doc-without-relation-permission
- dev-fix-clamav
- dev-fix-cache-deletes
- dev-feat-3905-atmomic-update
- dev-fix-error-messages
- dev-refactor-workers-dl
- dev-lohanidamodar-patch-2
- dev-feat-refactor-init-config
- dev-feat-release-dotnet-sdk
- dev-project-backup
- dev-refactor-collections-config
- dev-feat-db-pools-client-logging
- dev-__stream
- dev-feat-extendable-queries-validator
- dev-feat-project-delete-group
- dev-feat-peach-q1-kh
- dev-index-validator-v1
- dev-__stream_back_2
- dev-__stream__back_1
- dev-feat-jwt-as-request-param
- dev-cloud-update-install-link
- dev-docs-create-document
- dev-feat-registrar
- dev-feat-domains
- dev-usage-migration
- dev-feat-ca-certificates
- dev-experiment-response-attributes
- dev-fix-etsy-auth
- dev-feat-christy-backup
- dev-decouple-endpoints
- dev-feat-cloud-folder-backup
- dev-fix-function-response-size
- dev-temp-dl-for-billing
- dev-update-oauth-doc
- dev-feat-multiple-events-demonstration
- dev-feat-reatime-cache-cert-sync
- dev-refactor-autoload-require
- dev-feat-realtime-region-sync
- dev-feat-transfer-project
- dev-fix-loose-booleans
- dev-feat-functions-to-region
- dev-feat-redis-sync
- dev-refactor-collections
- dev-fix-incorrect-durations
- dev-fix-simply-functions-worker
- dev-feat-LINE-OAuth
- dev-refactor-cache-new
- dev-feat-experiment-mongo
- dev-feat-benchmarks
- dev-feat-configurable-console-hostnames
- dev-feat-functions-proxy
- dev-fix-team-memberships-secret-exposure
- dev-feat-locales-check
- dev-feat-key-rotation-pls
- dev-feat-project-level-secrets
- dev-feat-3625-regex-event-match
- dev-fix-duplication-error-message
- dev-fix-create-user-OAuth-event
- dev-feat-oauth-session-with-token
- dev-dev
This package is auto-updated.
Last update: 2024-09-22 11:15:12 UTC
README
Appwrite 初始化已结束!您可以在我们的初始化网站上查看所有最新公告 https://appwrite.io/init 🚀
Appwrite 是一个用于开发 Web、移动和 Flutter 应用的后端平台。它由开源社区构建,并针对您所喜爱的编码语言中的开发者体验进行了优化。
英文 | 简体中文
Appwrite 是一个打包为 Docker 微服务集的端到端后端服务器,适用于 Web、移动、原生或后端应用。Appwrite 抽象了从头开始构建现代后端 API 所需的复杂性和重复性,让您能够更快地构建安全的应用程序。
使用 Appwrite,您可以轻松地将您的应用程序与用户身份验证和多种登录方法集成,存储和查询用户和团队数据的数据库,存储和文件管理,图像处理,云函数,以及更多服务。
更多信息请访问:https://appwrite.io
目录
安装
Appwrite 设计用于在容器化环境中运行。在您的终端中运行一个命令即可轻松运行服务器。您可以在本地主机上使用 docker-compose 运行 Appwrite,或者在任何其他容器编排工具上,例如 Kubernetes、Docker Swarm 或 Rancher。
开始运行您的 Appwrite 服务器最简单的方法是运行我们的 docker-compose 文件。在运行安装命令之前,请确保您的机器上已安装 Docker。
Unix
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:1.6.0
Windows
CMD
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:1.6.0
PowerShell
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:1.6.0
Docker 安装完成后,请访问 http://localhost 以通过浏览器访问 Appwrite 控制台。请注意,在非 Linux 原生主机上,服务器可能需要几分钟才能在完成安装后启动。
有关高级生产环境和自定义安装的信息,请参阅我们的 Docker 环境变量 文档。您还可以使用我们的公共 docker-compose.yml 和 .env 文件手动设置环境。
从旧版本升级
如果您正在从旧版本升级 Appwrite 服务器,则应在设置完成后使用 Appwrite 迁移工具。有关此信息,请参阅 安装文档。
一键安装
除了在本地运行Appwrite之外,您还可以使用预配置的设置来启动Appwrite。这允许您在不安装Docker的情况下快速开始使用Appwrite。
从以下提供商中选择一个
入门
开始使用Appwrite就像创建一个新项目、选择您的平台并将其SDK集成到您的代码中一样简单。您可以通过阅读我们的入门教程之一轻松开始使用您选择的平台。
产品
- 账户 - 管理当前用户的身份验证和账户。跟踪和管理用户会话、设备、登录方式和安全日志。
- 用户 - 在使用服务器SDK构建后端集成时,管理和列出所有项目用户。
- 团队 - 管理和分组用户。管理团队内的成员资格、邀请和用户角色。
- 数据库 - 管理数据库、集合和文档。读取、创建、更新和删除文档,并使用高级过滤器过滤文档集合列表。
- 存储 - 管理存储文件。读取、创建、删除和预览文件。操作文件的预览以完美适应您的应用程序。所有文件都经过ClamAV扫描并以安全加密的方式存储。
- 函数 - 通过在安全隔离的环境中执行您的自定义代码来自定义您的Appwrite项目。您可以通过手动或使用CRON计划来触发您的代码以响应任何Appwrite系统事件。
- 消息 - 使用Appwrite消息通过推送通知、电子邮件和短信文本消息与您的用户进行通信。
- 实时 - 监听您的任何Appwrite服务(包括用户、存储、函数、数据库等)的实时事件。
- 地区 - 跟踪您用户的位置并管理基于地区的数据。
- 头像 - 管理您用户的头像、国家国旗、浏览器图标和信用卡符号。从链接或纯文本字符串生成QR码。
要查看完整的API文档,请访问 https://appwrite.io/docs。有关更多教程、新闻和公告,请查看我们的 博客 和 Discord服务器。
SDK
以下是目前支持的平台和语言列表。如果您想帮助我们添加对您选择平台的支持,您可以去我们的 SDK生成器 项目,并查看我们的 贡献指南。
客户端
- ✅ Web (由Appwrite团队维护)
- ✅ Flutter (由Appwrite团队维护)
- ✅ Apple (由Appwrite团队维护)
- ✅ Android (由Appwrite团队维护)
- ✅ React Native - 测试版 (由Appwrite团队维护)
服务器
- ✅ NodeJS (由Appwrite团队维护)
- ✅ PHP (由Appwrite团队维护)
- ✅ Dart (由Appwrite团队维护)
- ✅ Deno (由Appwrite团队维护)
- ✅ Ruby (由Appwrite团队维护)
- ✅ Python (由Appwrite团队维护)
- ✅ Kotlin (由Appwrite团队维护)
- ✅ Swift (由Appwrite团队维护)
- ✅ .NET - 测试版 (由Appwrite团队维护)
社区
- ✅ Appcelerator Titanium (由Michael Gangolf维护)
- ✅ Godot Engine (由fenix-hub @GodotNuts维护)
寻找更多SDK? - 通过向我们提交拉取请求来帮助我们,在我们的SDK生成器中贡献力量!
架构
Appwrite采用微服务架构,该架构旨在易于扩展和责任委派。此外,Appwrite支持多个API,例如REST、WebSocket和GraphQL,允许您利用现有的知识和选择的协议与资源进行交互。
Appwrite API层旨在通过利用内存缓存并将任何重负载任务委派给Appwrite后台工作者来达到极高的速度。后台工作者还允许您通过消息队列来处理负载,精确控制计算能力和成本。您可以在贡献指南中了解更多关于我们架构的信息。
贡献
所有代码贡献,包括有提交访问权限的人的贡献,都必须通过拉取请求,并经核心开发者批准后才能合并。这是为了确保对所有代码的适当审查。
我们真的很喜欢拉取请求!如果您想帮忙,您可以在贡献指南中了解更多关于如何为此项目贡献的方法。
安全
对于安全问题,请通过电子邮件发送到[email protected],而不是在GitHub上发布公开问题。
关注我们
加入我们全球不断壮大的社区!查看我们的官方博客。在X、LinkedIn、Dev Community上关注我们,或加入我们的Discord服务器以获得更多帮助、想法和讨论。
许可证
本存储库受BSD 3-Clause License许可。