返回应用列表
Appwrite

Deploy Appwrite on Your Own Server

Secure Backend Server for Web, Mobile & Flutter Developers.

📦 Other

想更快部署 Appwrite到服务器?试试 Senate,一条命令完成部署,自动配置 HTTPS 和监控。

立即开始

什么是 Appwrite?

Appwrite is a self-hosted solution that provides developers with a set of easy-to-use and integrate REST APIs to manage their core backend needs. Description of all available environment variables: https://appwrite.io/docs/environment-variables

了解更多

自托管 Appwrite

按照以下步骤在您的服务器上部署。

1

安装 Docker

如果服务器上已安装 Docker,可跳过此步骤。

curl -fsSL https://get.docker.com | sh
2

配置

自定义以下设置。大多数情况下使用默认值即可。

General
3

部署

复制配置并在服务器上运行。

services:
  appwrite:
    image: appwrite/appwrite:1.4.13
    environment:
      _APP_ASSISTANT_OPENAI_API_KEY: ""
      _APP_CONSOLE_WHITELIST_EMAILS: ""
      _APP_CONSOLE_WHITELIST_IPS: ""
      _APP_CONSOLE_WHITELIST_ROOT: enabled
      _APP_DB_HOST: appwrite-mariadb
      _APP_DB_PASS: fa9e6c01093c9ae9
      _APP_DB_PORT: "3306"
      _APP_DB_SCHEMA: appwrite
      _APP_DB_USER: user
      _APP_DOMAIN: localhost
      _APP_DOMAIN_FUNCTIONS: localhost
      _APP_DOMAIN_TARGET: localhost
      _APP_ENV: production
      _APP_EXECUTOR_HOST: http://appwrite-executor/v1
      _APP_EXECUTOR_SECRET: 07296166f5db8733
      _APP_FUNCTIONS_BUILD_TIMEOUT: "900"
      _APP_FUNCTIONS_CPUS: ""
      _APP_FUNCTIONS_MEMORY: ""
      _APP_FUNCTIONS_RUNTIMES: node-18.0
      _APP_FUNCTIONS_SIZE_LIMIT: "30000000"
      _APP_FUNCTIONS_TIMEOUT: "900"
      _APP_GRAPHQL_MAX_BATCH_SIZE: "10"
      _APP_GRAPHQL_MAX_COMPLEXITY: "250"
      _APP_GRAPHQL_MAX_DEPTH: "3"
      _APP_INFLUXDB_HOST: appwrite-influxdb
      _APP_INFLUXDB_PORT: "8086"
      _APP_LOCALE: en
      _APP_LOGGING_CONFIG: ""
      _APP_LOGGING_PROVIDER: ""
      _APP_MAINTENANCE_INTERVAL: "86400"
      _APP_MAINTENANCE_RETENTION_ABUSE: "86400"
      _APP_MAINTENANCE_RETENTION_AUDIT: "1209600"
      _APP_MAINTENANCE_RETENTION_CACHE: "2592000"
      _APP_MAINTENANCE_RETENTION_EXECUTION: "1209600"
      _APP_MAINTENANCE_RETENTION_SCHEDULES: ""
      _APP_MAINTENANCE_RETENTION_USAGE_HOURLY: "8640000"
      _APP_MIGRATIONS_FIREBASE_CLIENT_ID: ""
      _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET: ""
      _APP_OPENSSL_KEY_V1: f3af3ce96fe966f75a1fc3c70b03caab56ec9cd149e74c5a9810f021093fafd0cb8357f8b60efe34ac1605a1cb55b74e248f917f32a7f4a7cd96dcb0b8694600db4114376d5b91f2e047e6b4e01af953f4148b0631136542879fc7157b3862211ffd821b4f14e5fe85de57438c908a471ff38c8921d77e63ca89885ebea35825
      _APP_OPTIONS_ABUSE: enabled
      _APP_OPTIONS_FORCE_HTTPS: disabled
      _APP_REDIS_HOST: appwrite-redis
      _APP_REDIS_PASS: ""
      _APP_REDIS_PORT: "6379"
      _APP_REDIS_USER: ""
      _APP_SMS_FROM: ""
      _APP_SMS_PROVIDER: ""
      _APP_SMTP_HOST: ""
      _APP_SMTP_PASSWORD: ""
      _APP_SMTP_PORT: ""
      _APP_SMTP_SECURE: ""
      _APP_SMTP_USERNAME: ""
      _APP_STATSD_HOST: appwrite-telegraf
      _APP_STATSD_PORT: "8125"
      _APP_STORAGE_ANTIVIRUS: disabled
      _APP_STORAGE_ANTIVIRUS_HOST: clamav
      _APP_STORAGE_ANTIVIRUS_PORT: "3310"
      _APP_STORAGE_BACKBLAZE_ACCESS_KEY: ""
      _APP_STORAGE_BACKBLAZE_BUCKET: ""
      _APP_STORAGE_BACKBLAZE_REGION: us-west-004
      _APP_STORAGE_BACKBLAZE_SECRET: ""
      _APP_STORAGE_DEVICE: Local
      _APP_STORAGE_DO_SPACES_ACCESS_KEY: ""
      _APP_STORAGE_DO_SPACES_BUCKET: ""
      _APP_STORAGE_DO_SPACES_REGION: us-east-1
      _APP_STORAGE_DO_SPACES_SECRET: ""
      _APP_STORAGE_LIMIT: "30000000"
      _APP_STORAGE_LINODE_ACCESS_KEY: ""
      _APP_STORAGE_LINODE_BUCKET: ""
      _APP_STORAGE_LINODE_REGION: eu-central-1
      _APP_STORAGE_LINODE_SECRET: ""
      _APP_STORAGE_PREVIEW_LIMIT: "20000000"
      _APP_STORAGE_S3_ACCESS_KEY: ""
      _APP_STORAGE_S3_BUCKET: ""
      _APP_STORAGE_S3_REGION: us-east-1
      _APP_STORAGE_S3_SECRET: ""
      _APP_STORAGE_WASABI_ACCESS_KEY: ""
      _APP_STORAGE_WASABI_BUCKET: ""
      _APP_STORAGE_WASABI_REGION: eu-central-1
      _APP_STORAGE_WASABI_SECRET: ""
      _APP_SYSTEM_EMAIL_ADDRESS: team@appwrite.io
      _APP_SYSTEM_EMAIL_NAME: Appwrite
      _APP_SYSTEM_RESPONSE_FORMAT: ""
      _APP_SYSTEM_SECURITY_EMAIL_ADDRESS: certs@appwrite.io
      _APP_USAGE_STATS: enabled
      _APP_VCS_GITHUB_APP_ID: ""
      _APP_VCS_GITHUB_APP_NAME: ""
      _APP_VCS_GITHUB_CLIENT_ID: ""
      _APP_VCS_GITHUB_CLIENT_SECRET: ""
      _APP_VCS_GITHUB_PRIVATE_KEY: ""
      _APP_VCS_GITHUB_WEBHOOK_SECRET: ""
      _APP_WORKER_PER_CORE: "6"
    volumes:
      - appwrite-uploads:/storage/uploads
      - appwrite-cache:/storage/cache
      - appwrite-config:/storage/config
      - appwrite-certificates:/storage/certificates
      - appwrite-functions:/storage/functions
    depends_on:
      - appwrite-redis
      - appwrite-mariadb
      - appwrite-influxdb
  appwrite-assistant:
    image: appwrite/assistant:0.2.2
    environment:
      _APP_ASSISTANT_OPENAI_API_KEY: ""
  appwrite-executor:
    image: openruntimes/executor:0.4.5
    environment:
      OPR_EXECUTOR_DOCKER_HUB_PASSWORD: ""
      OPR_EXECUTOR_DOCKER_HUB_USERNAME: ""
      OPR_EXECUTOR_ENV: production
      OPR_EXECUTOR_INACTIVE_TRESHOLD: "60"
      OPR_EXECUTOR_LOGGING_CONFIG: ""
      OPR_EXECUTOR_LOGGING_PROVIDER: ""
      OPR_EXECUTOR_MAINTENANCE_INTERVAL: "3600"
      OPR_EXECUTOR_NETWORK: captain-overlay-network
      OPR_EXECUTOR_RUNTIMES: node-18.0
      OPR_EXECUTOR_SECRET: 07296166f5db8733
      OPR_EXECUTOR_STORAGE_BACKBLAZE_ACCESS_KEY: ""
      OPR_EXECUTOR_STORAGE_BACKBLAZE_BUCKET: ""
      OPR_EXECUTOR_STORAGE_BACKBLAZE_REGION: us-west-004
      OPR_EXECUTOR_STORAGE_BACKBLAZE_SECRET: ""
      OPR_EXECUTOR_STORAGE_DEVICE: Local
      OPR_EXECUTOR_STORAGE_DO_SPACES_ACCESS_KEY: ""
      OPR_EXECUTOR_STORAGE_DO_SPACES_BUCKET: ""
      OPR_EXECUTOR_STORAGE_DO_SPACES_REGION: us-east-1
      OPR_EXECUTOR_STORAGE_DO_SPACES_SECRET: ""
      OPR_EXECUTOR_STORAGE_LINODE_ACCESS_KEY: ""
      OPR_EXECUTOR_STORAGE_LINODE_BUCKET: ""
      OPR_EXECUTOR_STORAGE_LINODE_REGION: eu-central-1
      OPR_EXECUTOR_STORAGE_LINODE_SECRET: ""
      OPR_EXECUTOR_STORAGE_S3_ACCESS_KEY: ""
      OPR_EXECUTOR_STORAGE_S3_BUCKET: ""
      OPR_EXECUTOR_STORAGE_S3_REGION: us-east-1
      OPR_EXECUTOR_STORAGE_S3_SECRET: ""
      OPR_EXECUTOR_STORAGE_WASABI_ACCESS_KEY: ""
      OPR_EXECUTOR_STORAGE_WASABI_BUCKET: ""
      OPR_EXECUTOR_STORAGE_WASABI_REGION: eu-central-1
      OPR_EXECUTOR_STORAGE_WASABI_SECRET: ""
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - appwrite-functions:/storage/functions
      - appwrite-builds:/storage/builds
      - /tmp:/tmp
  appwrite-influxdb:
    image: appwrite/influxdb:1.5.0
    volumes:
      - appwrite-influxdb:/var/lib/influxdb
  appwrite-maintenance:
    environment:
      _APP_DB_HOST: appwrite-mariadb
      _APP_DB_PASS: fa9e6c01093c9ae9
      _APP_DB_PORT: "3306"
      _APP_DB_SCHEMA: appwrite
      _APP_DB_USER: user
      _APP_DOMAIN: localhost
      _APP_DOMAIN_FUNCTIONS: localhost
      _APP_DOMAIN_TARGET: localhost
      _APP_ENV: production
      _APP_MAINTENANCE_INTERVAL: "86400"
      _APP_MAINTENANCE_RETENTION_ABUSE: "86400"
      _APP_MAINTENANCE_RETENTION_AUDIT: "1209600"
      _APP_MAINTENANCE_RETENTION_CACHE: "2592000"
      _APP_MAINTENANCE_RETENTION_EXECUTION: "1209600"
      _APP_MAINTENANCE_RETENTION_SCHEDULES: ""
      _APP_MAINTENANCE_RETENTION_USAGE_HOURLY: "8640000"
      _APP_OPENSSL_KEY_V1: f3af3ce96fe966f75a1fc3c70b03caab56ec9cd149e74c5a9810f021093fafd0cb8357f8b60efe34ac1605a1cb55b74e248f917f32a7f4a7cd96dcb0b8694600db4114376d5b91f2e047e6b4e01af953f4148b0631136542879fc7157b3862211ffd821b4f14e5fe85de57438c908a471ff38c8921d77e63ca89885ebea35825
      _APP_REDIS_HOST: appwrite-redis
      _APP_REDIS_PASS: ""
      _APP_REDIS_PORT: "6379"
      _APP_REDIS_USER: ""
      _APP_WORKER_PER_CORE: "6"
    depends_on:
      - appwrite-redis
  appwrite-mariadb:
    environment:
      MARIADB_DATABASE: appwrite
      MARIADB_PASSWORD: fa9e6c01093c9ae9
      MARIADB_ROOT_PASSWORD: 4896d8c43b44a65d
      MARIADB_USER: user
    volumes:
      - appwrite-mariadb:/var/lib/mysql
  appwrite-realtime:
    environment:
      _APP_DB_HOST: appwrite-mariadb
      _APP_DB_PASS: fa9e6c01093c9ae9
      _APP_DB_PORT: "3306"
      _APP_DB_SCHEMA: appwrite
      _APP_DB_USER: user
      _APP_ENV: production
      _APP_LOGGING_CONFIG: ""
      _APP_LOGGING_PROVIDER: ""
      _APP_OPENSSL_KEY_V1: f3af3ce96fe966f75a1fc3c70b03caab56ec9cd149e74c5a9810f021093fafd0cb8357f8b60efe34ac1605a1cb55b74e248f917f32a7f4a7cd96dcb0b8694600db4114376d5b91f2e047e6b4e01af953f4148b0631136542879fc7157b3862211ffd821b4f14e5fe85de57438c908a471ff38c8921d77e63ca89885ebea35825
      _APP_OPTIONS_ABUSE: enabled
      _APP_REDIS_HOST: appwrite-redis
      _APP_REDIS_PORT: "6379"
      _APP_USAGE_STATS: enabled
      _APP_WORKER_PER_CORE: "6"
    depends_on:
      - appwrite-redis
      - appwrite-mariadb
  appwrite-redis:
    volumes:
      - appwrite-redis:/data
  appwrite-schedule:
    environment:
      _APP_DB_HOST: ${APP_DB_HOST}
      _APP_DB_PASS: fa9e6c01093c9ae9
      _APP_DB_PORT: "3306"
      _APP_DB_SCHEMA: appwrite
      _APP_DB_USER: user
      _APP_ENV: production
      _APP_OPENSSL_KEY_V1: f3af3ce96fe966f75a1fc3c70b03caab56ec9cd149e74c5a9810f021093fafd0cb8357f8b60efe34ac1605a1cb55b74e248f917f32a7f4a7cd96dcb0b8694600db4114376d5b91f2e047e6b4e01af953f4148b0631136542879fc7157b3862211ffd821b4f14e5fe85de57438c908a471ff38c8921d77e63ca89885ebea35825
      _APP_REDIS_HOST: appwrite-redis
      _APP_REDIS_PASS: ""
      _APP_REDIS_PORT: "6379"
      _APP_REDIS_USER: ""
      _APP_WORKER_PER_CORE: "6"
    depends_on:
      - appwrite-redis
  appwrite-telegraf:
    image: appwrite/telegraf:1.4.0
    environment:
      _APP_INFLUXDB_HOST: appwrite-influxdb
      _APP_INFLUXDB_PORT: "8086"
  appwrite-usage:
    environment:
      _APP_DB_HOST: appwrite-mariadb
      _APP_DB_PASS: fa9e6c01093c9ae9
      _APP_DB_PORT: "3306"
      _APP_DB_SCHEMA: appwrite
      _APP_DB_USER: user
      _APP_ENV: production
      _APP_INFLUXDB_HOST: appwrite-influxdb
      _APP_INFLUXDB_PORT: "8086"
      _APP_LOGGING_CONFIG: ""
      _APP_LOGGING_PROVIDER: ""
      _APP_OPENSSL_KEY_V1: f3af3ce96fe966f75a1fc3c70b03caab56ec9cd149e74c5a9810f021093fafd0cb8357f8b60efe34ac1605a1cb55b74e248f917f32a7f4a7cd96dcb0b8694600db4114376d5b91f2e047e6b4e01af953f4148b0631136542879fc7157b3862211ffd821b4f14e5fe85de57438c908a471ff38c8921d77e63ca89885ebea35825
      _APP_REDIS_HOST: appwrite-redis
      _APP_REDIS_PASS: ""
      _APP_REDIS_PORT: "6379"
      _APP_REDIS_USER: ""
      _APP_USAGE_AGGREGATION_INTERVAL: "30"
      _APP_USAGE_STATS: enabled
      _APP_WORKER_PER_CORE: "6"
    depends_on:
      - appwrite-influxdb
      - appwrite-mariadb
  appwrite-worker-audits:
    environment:
      _APP_DB_HOST: appwrite-mariadb
      _APP_DB_PASS: fa9e6c01093c9ae9
      _APP_DB_PORT: "3306"
      _APP_DB_SCHEMA: appwrite
      _APP_DB_USER: user
      _APP_ENV: production
      _APP_LOGGING_CONFIG: ""
      _APP_LOGGING_PROVIDER: ""
      _APP_OPENSSL_KEY_V1: f3af3ce96fe966f75a1fc3c70b03caab56ec9cd149e74c5a9810f021093fafd0cb8357f8b60efe34ac1605a1cb55b74e248f917f32a7f4a7cd96dcb0b8694600db4114376d5b91f2e047e6b4e01af953f4148b0631136542879fc7157b3862211ffd821b4f14e5fe85de57438c908a471ff38c8921d77e63ca89885ebea35825
      _APP_REDIS_HOST: appwrite-redis
      _APP_REDIS_PASS: ""
      _APP_REDIS_PORT: "6379"
      _APP_REDIS_USER: ""
    depends_on:
      - appwrite-redis
      - appwrite-mariadb
  appwrite-worker-builds:
    environment:
      _APP_DB_HOST: appwrite-mariadb
      _APP_DB_PASS: fa9e6c01093c9ae9
      _APP_DB_PORT: "3306"
      _APP_DB_SCHEMA: appwrite
      _APP_DB_USER: user
      _APP_DOMAIN: localhost
      _APP_ENV: production
      _APP_EXECUTOR_HOST: http://appwrite-executor/v1
      _APP_EXECUTOR_SECRET: 07296166f5db8733
      _APP_FUNCTIONS_BUILD_TIMEOUT: "900"
      _APP_FUNCTIONS_CPUS: ""
      _APP_FUNCTIONS_MEMORY: ${APP_FUNCTIONS_MEMORY}
      _APP_FUNCTIONS_SIZE_LIMIT: "30000000"
      _APP_FUNCTIONS_TIMEOUT: "900"
      _APP_LOGGING_CONFIG: ""
      _APP_LOGGING_PROVIDER: ""
      _APP_OPENSSL_KEY_V1: f3af3ce96fe966f75a1fc3c70b03caab56ec9cd149e74c5a9810f021093fafd0cb8357f8b60efe34ac1605a1cb55b74e248f917f32a7f4a7cd96dcb0b8694600db4114376d5b91f2e047e6b4e01af953f4148b0631136542879fc7157b3862211ffd821b4f14e5fe85de57438c908a471ff38c8921d77e63ca89885ebea35825
      _APP_OPTIONS_FORCE_HTTPS: disabled
      _APP_REDIS_HOST: appwrite-redis
      _APP_REDIS_PASS: ""
      _APP_REDIS_PORT: "6379"
      _APP_REDIS_USER: ""
      _APP_STORAGE_BACKBLAZE_ACCESS_KEY: ""
      _APP_STORAGE_BACKBLAZE_BUCKET: ""
      _APP_STORAGE_BACKBLAZE_REGION: us-west-004
      _APP_STORAGE_BACKBLAZE_SECRET: ""
      _APP_STORAGE_DEVICE: Local
      _APP_STORAGE_DO_SPACES_ACCESS_KEY: ""
      _APP_STORAGE_DO_SPACES_BUCKET: ""
      _APP_STORAGE_DO_SPACES_REGION: us-east-1
      _APP_STORAGE_DO_SPACES_SECRET: ""
      _APP_STORAGE_LINODE_ACCESS_KEY: ""
      _APP_STORAGE_LINODE_BUCKET: ""
      _APP_STORAGE_LINODE_REGION: eu-central-1
      _APP_STORAGE_LINODE_SECRET: ""
      _APP_STORAGE_S3_ACCESS_KEY: ""
      _APP_STORAGE_S3_BUCKET: ""
      _APP_STORAGE_S3_REGION: us-east-1
      _APP_STORAGE_S3_SECRET: ""
      _APP_STORAGE_WASABI_ACCESS_KEY: ""
      _APP_STORAGE_WASABI_BUCKET: ""
      _APP_STORAGE_WASABI_REGION: eu-central-1
      _APP_STORAGE_WASABI_SECRET: ""
      _APP_VCS_GITHUB_APP_ID: ""
      _APP_VCS_GITHUB_APP_NAME: ""
      _APP_VCS_GITHUB_PRIVATE_KEY: ""
    volumes:
      - appwrite-functions:/storage/functions
      - appwrite-builds:/storage/builds
    depends_on:
      - appwrite-redis
      - appwrite-mariadb
  appwrite-worker-certificates:
    environment:
      _APP_DB_HOST: appwrite-mariadb
      _APP_DB_PASS: fa9e6c01093c9ae9
      _APP_DB_PORT: "3306"
      _APP_DB_SCHEMA: appwrite
      _APP_DB_USER: user
      _APP_DOMAIN: localhost
      _APP_DOMAIN_FUNCTIONS: localhost
      _APP_DOMAIN_TARGET: localhost
      _APP_ENV: production
      _APP_LOGGING_CONFIG: ""
      _APP_LOGGING_PROVIDER: ""
      _APP_OPENSSL_KEY_V1: f3af3ce96fe966f75a1fc3c70b03caab56ec9cd149e74c5a9810f021093fafd0cb8357f8b60efe34ac1605a1cb55b74e248f917f32a7f4a7cd96dcb0b8694600db4114376d5b91f2e047e6b4e01af953f4148b0631136542879fc7157b3862211ffd821b4f14e5fe85de57438c908a471ff38c8921d77e63ca89885ebea35825
      _APP_REDIS_HOST: appwrite-redis
      _APP_REDIS_PASS: ""
      _APP_REDIS_PORT: "6379"
      _APP_REDIS_USER: ""
      _APP_SYSTEM_SECURITY_EMAIL_ADDRESS: certs@appwrite.io
      _APP_WORKER_PER_CORE: "6"
    volumes:
      - appwrite-config:/storage/config
      - appwrite-certificates:/storage/certificates
    depends_on:
      - appwrite-redis
      - appwrite-mariadb
  appwrite-worker-databases:
    environment:
      _APP_DB_HOST: appwrite-mariadb
      _APP_DB_PASS: fa9e6c01093c9ae9
      _APP_DB_PORT: "3306"
      _APP_DB_SCHEMA: appwrite
      _APP_DB_USER: user
      _APP_ENV: production
      _APP_LOGGING_CONFIG: ""
      _APP_LOGGING_PROVIDER: ""
      _APP_OPENSSL_KEY_V1: f3af3ce96fe966f75a1fc3c70b03caab56ec9cd149e74c5a9810f021093fafd0cb8357f8b60efe34ac1605a1cb55b74e248f917f32a7f4a7cd96dcb0b8694600db4114376d5b91f2e047e6b4e01af953f4148b0631136542879fc7157b3862211ffd821b4f14e5fe85de57438c908a471ff38c8921d77e63ca89885ebea35825
      _APP_REDIS_HOST: appwrite-redis
      _APP_REDIS_PASS: ""
      _APP_REDIS_PORT: "6379"
      _APP_REDIS_USER: ""
      _APP_WORKER_PER_CORE: "6"
    depends_on:
      - appwrite-redis
      - appwrite-mariadb
  appwrite-worker-deletes:
    environment:
      _APP_DB_HOST: appwrite-mariadb
      _APP_DB_PASS: fa9e6c01093c9ae9
      _APP_DB_PORT: "3306"
      _APP_DB_SCHEMA: appwrite
      _APP_DB_USER: user
      _APP_ENV: production
      _APP_EXECUTOR_HOST: http://appwrite-executor/v1
      _APP_EXECUTOR_SECRET: 07296166f5db8733
      _APP_LOGGING_CONFIG: ""
      _APP_LOGGING_PROVIDER: ""
      _APP_OPENSSL_KEY_V1: f3af3ce96fe966f75a1fc3c70b03caab56ec9cd149e74c5a9810f021093fafd0cb8357f8b60efe34ac1605a1cb55b74e248f917f32a7f4a7cd96dcb0b8694600db4114376d5b91f2e047e6b4e01af953f4148b0631136542879fc7157b3862211ffd821b4f14e5fe85de57438c908a471ff38c8921d77e63ca89885ebea35825
      _APP_REDIS_HOST: appwrite-redis
      _APP_REDIS_PASS: ""
      _APP_REDIS_PORT: "6379"
      _APP_REDIS_USER: ""
      _APP_STORAGE_BACKBLAZE_ACCESS_KEY: ""
      _APP_STORAGE_BACKBLAZE_BUCKET: ""
      _APP_STORAGE_BACKBLAZE_REGION: us-west-004
      _APP_STORAGE_BACKBLAZE_SECRET: ""
      _APP_STORAGE_DEVICE: Local
      _APP_STORAGE_DO_SPACES_ACCESS_KEY: ""
      _APP_STORAGE_DO_SPACES_BUCKET: ""
      _APP_STORAGE_DO_SPACES_REGION: us-east-1
      _APP_STORAGE_DO_SPACES_SECRET: ""
      _APP_STORAGE_LINODE_ACCESS_KEY: ""
      _APP_STORAGE_LINODE_BUCKET: ""
      _APP_STORAGE_LINODE_REGION: eu-central-1
      _APP_STORAGE_LINODE_SECRET: ""
      _APP_STORAGE_S3_ACCESS_KEY: ""
      _APP_STORAGE_S3_BUCKET: ""
      _APP_STORAGE_S3_REGION: us-east-1
      _APP_STORAGE_S3_SECRET: ""
      _APP_STORAGE_WASABI_ACCESS_KEY: ""
      _APP_STORAGE_WASABI_BUCKET: ""
      _APP_STORAGE_WASABI_REGION: eu-central-1
      _APP_STORAGE_WASABI_SECRET: ""
      _APP_WORKER_PER_CORE: "6"
    volumes:
      - appwrite-uploads:/storage/uploads
      - appwrite-cache:/storage/cache
      - appwrite-functions:/storage/functions
      - appwrite-builds:/storage/builds
      - appwrite-certificates:/storage/certificates
    depends_on:
      - appwrite-redis
      - appwrite-mariadb
  appwrite-worker-functions:
    environment:
      _APP_DB_HOST: appwrite-mariadb
      _APP_DB_PASS: fa9e6c01093c9ae9
      _APP_DB_PORT: "3306"
      _APP_DB_SCHEMA: appwrite
      _APP_DB_USER: user
      _APP_DOCKER_HUB_PASSWORD: ""
      _APP_DOCKER_HUB_USERNAME: ""
      _APP_ENV: production
      _APP_EXECUTOR_HOST: http://appwrite-executor/v1
      _APP_EXECUTOR_SECRET: 07296166f5db8733
      _APP_FUNCTIONS_BUILD_TIMEOUT: "900"
      _APP_FUNCTIONS_CPUS: ""
      _APP_FUNCTIONS_MEMORY: ""
      _APP_FUNCTIONS_TIMEOUT: "900"
      _APP_LOGGING_CONFIG: ""
      _APP_LOGGING_PROVIDER: ""
      _APP_OPENSSL_KEY_V1: f3af3ce96fe966f75a1fc3c70b03caab56ec9cd149e74c5a9810f021093fafd0cb8357f8b60efe34ac1605a1cb55b74e248f917f32a7f4a7cd96dcb0b8694600db4114376d5b91f2e047e6b4e01af953f4148b0631136542879fc7157b3862211ffd821b4f14e5fe85de57438c908a471ff38c8921d77e63ca89885ebea35825
      _APP_REDIS_HOST: appwrite-redis
      _APP_REDIS_PASS: ""
      _APP_REDIS_PORT: "6379"
      _APP_REDIS_USER: ""
      _APP_USAGE_STATS: enabled
      _APP_WORKER_PER_CORE: "6"
    depends_on:
      - appwrite-redis
      - appwrite-mariadb
      - appwrite-executor
  appwrite-worker-mails:
    environment:
      _APP_ENV: production
      _APP_LOGGING_CONFIG: ""
      _APP_LOGGING_PROVIDER: ""
      _APP_OPENSSL_KEY_V1: f3af3ce96fe966f75a1fc3c70b03caab56ec9cd149e74c5a9810f021093fafd0cb8357f8b60efe34ac1605a1cb55b74e248f917f32a7f4a7cd96dcb0b8694600db4114376d5b91f2e047e6b4e01af953f4148b0631136542879fc7157b3862211ffd821b4f14e5fe85de57438c908a471ff38c8921d77e63ca89885ebea35825
      _APP_REDIS_HOST: appwrite-redis
      _APP_REDIS_PASS: ""
      _APP_REDIS_PORT: "6379"
      _APP_REDIS_USER: ""
      _APP_SMTP_HOST: ""
      _APP_SMTP_PASSWORD: ""
      _APP_SMTP_PORT: ""
      _APP_SMTP_SECURE: ""
      _APP_SMTP_USERNAME: ""
      _APP_SYSTEM_EMAIL_ADDRESS: team@appwrite.io
      _APP_SYSTEM_EMAIL_NAME: Appwrite
      _APP_WORKER_PER_CORE: "6"
    depends_on:
      - appwrite-redis
  appwrite-worker-messaging:
    environment:
      _APP_ENV: production
      _APP_LOGGING_CONFIG: ""
      _APP_LOGGING_PROVIDER: ""
      _APP_REDIS_HOST: appwrite-redis
      _APP_REDIS_PASS: ""
      _APP_REDIS_PORT: "6379"
      _APP_REDIS_USER: ""
      _APP_SMS_FROM: ""
      _APP_SMS_PROVIDER: ""
      _APP_WORKER_PER_CORE: "6"
    depends_on:
      - appwrite-redis
  appwrite-worker-migrations:
    environment:
      _APP_DB_HOST: ${APP_DB_HOST}
      _APP_DB_PASS: fa9e6c01093c9ae9
      _APP_DB_PORT: "3306"
      _APP_DB_SCHEMA: appwrite
      _APP_DB_USER: user
      _APP_DOMAIN: localhost
      _APP_DOMAIN_TARGET: localhost
      _APP_ENV: production
      _APP_LOGGING_CONFIG: ""
      _APP_LOGGING_PROVIDER: ""
      _APP_MIGRATIONS_FIREBASE_CLIENT_ID: ""
      _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET: ""
      _APP_OPENSSL_KEY_V1: f3af3ce96fe966f75a1fc3c70b03caab56ec9cd149e74c5a9810f021093fafd0cb8357f8b60efe34ac1605a1cb55b74e248f917f32a7f4a7cd96dcb0b8694600db4114376d5b91f2e047e6b4e01af953f4148b0631136542879fc7157b3862211ffd821b4f14e5fe85de57438c908a471ff38c8921d77e63ca89885ebea35825
      _APP_REDIS_HOST: ${APP_REDIS_HOST}
      _APP_REDIS_PASS: ""
      _APP_REDIS_PORT: "6379"
      _APP_REDIS_USER: ""
      _APP_SYSTEM_SECURITY_EMAIL_ADDRESS: certs@appwrite.io
      _APP_WORKER_PER_CORE: "6"
    depends_on:
      - appwrite-mariadb
  appwrite-worker-webhooks:
    environment:
      _APP_ENV: production
      _APP_LOGGING_CONFIG: ""
      _APP_LOGGING_PROVIDER: ""
      _APP_OPENSSL_KEY_V1: f3af3ce96fe966f75a1fc3c70b03caab56ec9cd149e74c5a9810f021093fafd0cb8357f8b60efe34ac1605a1cb55b74e248f917f32a7f4a7cd96dcb0b8694600db4114376d5b91f2e047e6b4e01af953f4148b0631136542879fc7157b3862211ffd821b4f14e5fe85de57438c908a471ff38c8921d77e63ca89885ebea35825
      _APP_REDIS_HOST: appwrite-redis
      _APP_REDIS_PASS: ""
      _APP_REDIS_PORT: "6379"
      _APP_REDIS_USER: ""
      _APP_SYSTEM_SECURITY_EMAIL_ADDRESS: certs@appwrite.io
      _APP_WORKER_PER_CORE: "6"
    depends_on:
      - appwrite-redis
      - appwrite-mariadb
volumes:
  appwrite-uploads: {}
  appwrite-cache: {}
  appwrite-config: {}
  appwrite-certificates: {}
  appwrite-functions: {}
  appwrite-builds: {}
  appwrite-influxdb: {}
  appwrite-mariadb: {}
  appwrite-redis: {}

然后运行:

docker compose up -d
4

访问

启动后,访问您的应用: http://localhost:80

为什么要自托管 Appwrite?

完全数据所有权

数据保存在您的服务器上,无第三方访问。

无月费

只需支付服务器费用,无按席位或用量收费。

完全控制

按您的需求自定义、备份和扩展。

隐私与合规

满足 GDPR、HIPAA 或内部安全要求。

技术细节

Docker 镜像

appwrite/appwrite:${APP_VERSION}

官方文档

appwrite.io

想更快部署?

尝试 Senate!Senate 帮您处理 Docker、HTTPS、更新和监控。一条命令部署 300+ 应用。

在任意 Linux 服务器上安装:

sh -c "$(curl -sSL https://get.senate.sh)"