MAATRIX / Блог / Appwrite на собственном VPS

Appwrite на собственном VPS

Блог MAATRIX · 2026-07-07

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.
', 'Обновляется Appwrite тоже через Docker: меняете тег образа в docker-compose.yml, затем 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 и др. в изолированных контейнерах по событию или расписанию.