Appwrite на собственном VPS
Appwrite — открытый backend-as-a-service: база, авторизация, storage, функции и realtime из коробки. Развернём его на VPS одним скриптом и подключим свой домен.
Содержание
Почему Appwrite на своём VPS
['Appwrite закрывает типичные задачи бэкенда без написания рутины: юзеры, права, файлы, функции, realtime-подписки. На своём VPS вы не платите за каждую операцию и держите данные под контролем — особенно важно, когда пользователи в России.', 'Стек Appwrite поднимает десяток контейнеров и активно пишет на диск. NVMe + AMD EPYC у MAATRIX дают ему нужную скорость, а оплата картой РФ, СБП или криптой решает проблему аренды зарубежного сервера из РФ.', 'По сути Appwrite заменяет связку из пяти-шести отдельных сервисов: базу, систему аутентификации с OAuth-провайдерами, файловое хранилище с трансформацией картинок, realtime-канал и раннер серверных функций. Собирать это вручную из микросервисов долго и дорого в поддержке. Appwrite отдаёт всё готовым стеком, а вы платите только за VPS — и данные пользователей физически лежат на вашем сервере, а не в чужом облаке.']Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.
Арендовать VPS для AppwriteТребования и Docker
["Appwrite ставится через Docker Compose. Нужен сервер с 2+ ГБ RAM и открытыми портами 80/443 — Traefik внутри стека сам получит и продлит Let's Encrypt-сертификат. Заранее направьте A-запись домена на IP вашего VPS, иначе выпуск сертификата не пройдёт.", 'apt update && apt install -y docker.io docker-compose-plugin\nsystemctl enable --now docker\ndocker --version']
Установка одной командой
['Официальный установщик сам создаёт docker-compose.yml и .env, задавая вопросы (порты HTTP/HTTPS, домен):', 'docker run -it --rm \\\n --volume /var/run/docker.sock:/var/run/docker.sock \\\n --volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \\\n --entrypoint="install" \\\n appwrite/appwrite:1.5.7', 'Установщик спросит адрес сервера, HTTP/HTTPS-порты и секретный ключ. Тег версии (здесь 1.5.7) фиксируйте явно — так апгрейд будет контролируемым, а не случайным при повторном запуске. После установки контейнеры поднимаются автоматически. Проверяем:', 'cd appwrite\ndocker compose ps']
Домен, TLS и вход в консоль
["Appwrite умеет сам выпускать Let's Encrypt через встроенный Traefik. Задайте переменные вappwrite/.env:", '_APP_DOMAIN=appwrite.example.com\n_APP_DOMAIN_TARGET=appwrite.example.com\n_APP_DOMAIN_FUNCTIONS=functions.example.com', 'Перезапустите стек, чтобы применить домен и получить сертификат:', 'docker compose up -d --remove-orphans', 'Откройте https://appwrite.example.com, создайте админ-аккаунт и первый проект. Далее подключаете SDK (web, Flutter, Node) по project ID и endpoint. В настройках проекта сразу добавьте домен вашего фронтенда в список платформ — иначе браузерные запросы упрутся в CORS. Для мобильных приложений регистрируйте платформу по bundle ID.']
Бэкапы и частые ошибки
['Данные Appwrite лежат в docker-томах и в MariaDB. Бэкапим базу и тома:', 'docker compose exec mariadb sh -c \'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"\' > /root/appwrite-$(date +%F).sql\ntar czf /root/appwrite-vol-$(date +%F).tar.gz appwrite/', '- Сертификат не выпускается — домен не резолвится на IP сервера или занят порт 80; проверьте DNS и
ss -tlnp | grep :80. - Контейнеры OOM — мало RAM, добавьте swap или увеличьте тариф.
- Функции не запускаются — не задан
_APP_DOMAIN_FUNCTIONSили нет доступа к docker.sock.
docker compose up -d — миграции применяются автоматически. Перед мажорным апгрейдом обязательно снимите бэкап, чтобы можно было откатиться.', 'Ежедневные бэкапы MAATRIX страхуют тома Appwrite на случай сбоя — восстановление проекта займёт минуты, а не дни. А поскольку весь backend живёт на одном VPS, вы платите фиксированную цену от $8/мес вместо роста счёта за операции в облачном BaaS.']
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.
Арендовать VPS для AppwriteЧастые вопросы
Appwrite или Supabase?
Appwrite — ближе к Firebase с функциями и realtime из коробки; Supabase — вокруг чистого Postgres и SQL. Выбор зависит от того, нужен ли вам полноценный SQL.
Сколько ресурсов нужно Appwrite?
Минимум 2 ГБ RAM и 2 ядра, комфортно от 4 ГБ. Диск — NVMe, стек активно пишет.
Можно ли писать серверные функции?
Да, Appwrite Functions запускают код на Node, Python, PHP, Dart и др. в изолированных контейнерах по событию или расписанию.