
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)"