Гид по технологиям

Установка Appwrite с Docker на Ubuntu 22.04

• 5 min read • DevOps • Обновлено 28 Nov 2025
Установка Appwrite на Ubuntu 22.04 с Docker
Установка Appwrite на Ubuntu 22.04 с Docker

Appwrite — логотип и схематичная архитектура

Appwrite — это бесплатный и открытый backend-сервер, который предоставляет основные API для создания приложений и распространяется как набор удобных Docker-контейнеров. Он упрощает разработку мобильных и веб-приложений, сокращая значительно время и усилия при создании backend’а. Appwrite предлагает простой веб-интерфейс для мониторинга использования API и управления ресурсами проекта прямо из браузера.

В этой статье показано, как установить сервер Appwrite в Docker на Ubuntu 22.04 — от подготовки сервера до входа в панель управления.

Что потребуется

  • Сервер с Ubuntu 22.04 (доступ по SSH с правами root или sudo).
  • Настроенный root-пароль или пользователь с sudo.
  • DNS A-запись, указывающая на IP сервера (желательно) или возможность использовать локальный hosts для тестирования.
  • Открытые порты 80 и 443 или возможность настроить их проброс в firewall.

Краткая методология установки

  1. Подготовьте систему и установите зависимости.
  2. Добавьте официальный репозиторий Docker и установите Docker CE.
  3. Запустите инсталлятор Appwrite через docker run — он подтянет все образы и создаст docker-compose.yml.
  4. Настройте DNS/A запись и TLS (Traefik настраивается автоматически в простом случае).
  5. Проверьте образы, контейнеры и зайдите в веб-интерфейс Appwrite.

Добавление репозитория Docker

По умолчанию актуальная версия Docker может отсутствовать в стандартных репозиториях Ubuntu, поэтому лучше использовать официальный репозиторий Docker.

Сначала установите требуемые зависимости:

apt install apt-transport-https ca-certificates curl software-properties-common -y

Добавьте ключ GPG Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -

Добавьте репозиторий Docker для Ubuntu 22.04 (jammy):

add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu jammy stable"

Проверьте, что репозиторий добавлен:

apt-cache policy docker-ce

Примечание: если команда apt-cache не показывает docker-ce в Candidate, выполните apt update и повторите проверку.

Установка Docker CE

Установите Docker CE:

apt install docker-ce -y

Проверьте версию Docker:

docker --version

Проверьте статус службы systemd:

systemctl status docker

Если служба не запущена, запустите и включите её автозапуск:

systemctl start docker
systemctl enable docker

Установка Appwrite на Ubuntu 22.04

Запустите инсталлятор Appwrite (в примере используется тег 0.12.1, при необходимости используйте актуальный тег из репозитория Appwrite):

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:0.12.1

Команда загрузит необходимые образы и создаст контейнер для установки. В процессе инсталляции инсталлятор спросит:

  • HTTP-порт (по умолчанию 80)
  • HTTPS-порт (по умолчанию 443)
  • Секретный API-ключ (сохраните в безопасном месте)
  • Hostname (например, appwrite.example.com)
  • Значение DNS A record для использования с CNAME custom domains

Пример вывода загрузки образов (сокращённо):

83577bffd893: Pull complete 
... 
Status: Downloaded newer image for appwrite/appwrite:0.12.1
Starting Appwrite installation...
Choose your server HTTP port: (default: 80)
Choose your server HTTPS port: (default: 443)
Choose a secret API key, make sure to make a backup of your key in a secure location (default: 'your-secret-key')

Введите предпочитаемые значения и нажмите Enter. Для production рекомендуется использовать настоящие домены и валидные TLS-сертификаты.

После ввода hostname инсталлятор запустит docker-compose и выполнит запуск сервисов:

Running "docker-compose -f /usr/src/code/appwrite/docker-compose.yml up -d --remove-orphans --renew-anon-volumes"
Appwrite installed successfully

Проверка загруженных образов и запущенных контейнеров

Просмотреть образы:

docker images

Пример (сокращённый):

REPOSITORY                    TAG              IMAGE ID       CREATED         SIZE
mariadb                       10.7             b0408ef424b9   4 days ago      415MB
traefik                       2.5              865923368a9f   7 months ago    101MB
appwrite/appwrite             0.12.1           5dd87572d61b   7 months ago    492MB
...

Посмотреть запущенные контейнеры:

docker ps

Вы должны увидеть набор контейнеров Appwrite (worker-*, traefik, mariadb, redis, influxdb и т.д.).

Доступ к веб-интерфейсу Appwrite

Откройте браузер и перейдите по URL, который вы указали при установке, например:

https://appwrite.example.com

Вы должны попасть на страницу регистрации Appwrite (Sign Up). Заполните имя, email и пароль и нажмите кнопку Sign Up.

Страница регистрации Appwrite (форма)

После входа вы увидите панель управления Appwrite:

Панель управления Appwrite

Создайте проект через кнопку Create Project, укажите Project ID и имя проекта и нажмите Create:

Создание проекта в Appwrite — форма

После создания проекта вы окажетесь на странице проекта:

Страница проекта в Appwrite

Консоль проекта — список сервисов

Добавьте платформу (например, Web) и зарегистрируйте hostname вашего приложения:

Регистрация веб-платформы в Appwrite

Выберите платформу для добавления (iOS, Android, Web и т.д.):

Выбор платформы — список вариантов

Рекомендации для production

  • Используйте отдельную управляемую СУБД (например, облачный MariaDB) или отдельный сервер для базы данных.
  • Настройте резервное копирование баз данных и томов Docker.
  • Для SSL в production используйте валидные сертификаты (Traefik может автоматически получить Let’s Encrypt сертификаты при корректно настроенном DNS).
  • Отключите публичный доступ к административным интерфейсам и настройте firewall/ACL.
  • Храните секретные ключи и конфигурации вне репозитория в менеджере секретов.

Важно: контейнеры Appwrite по умолчанию используют открытые порты 80/443. Проверьте политики безопасности и ограничьте доступ по IP, если требуется.

Ролевые чеклисты (быстрые действия)

  • DevOps / Системный администратор:

    • Установить Docker и убедиться в правильной работе systemd.
    • Настроить DNS A-запись для hostname.
    • Настроить firewall и открыть 80/443.
    • Настроить резервное копирование и мониторинг.
  • Разработчик приложения:

    • Зарегистрировать проект в Appwrite.
    • Добавить платформу и указать callback/hostname.
    • Создать API key для тестовой и production-среды.
  • Администратор безопасности:

    • Проверить файрвол и доступы.
    • Обеспечить хранение секретов и ключей.
    • Настроить мониторинг и оповещения для контейнеров.

Устранение неполадок (runbook)

  1. Проверка служб Docker:
systemctl status docker
journalctl -u docker -n 200 --no-pager
  1. Проверка логов Appwrite/traefik:
docker-compose -f /usr/src/code/appwrite/docker-compose.yml logs -f traefik
docker logs 
  1. Если порты уже заняты (80/443): проверьте, что нет других web-серверов (nginx, apache):
ss -ltnp | grep ':80\|:443'
  1. Проблемы с DNS/сертификатом: убедитесь, что A-запись указывает на IP сервера и что Traefik имеет доступ к интернету для получения Let’s Encrypt сертификата.

  2. Контейнеры не стартуют: проверьте доступность томов и права на папки (особенно если вы монтируете локальные тома).

Когда установка может не сработать

  • На хосте недостаточно места на диске или памяти — убедитесь в свободном дисковом пространстве и RAM.
  • Порты 80/443 заняты другим сервисом.
  • Неправильно настроенный DNS (для production-сертификатов).
  • Ограничения корпоративного firewall блокируют скачивание образов Docker.

Критерии приёмки

  • Docker запущен и активен.
  • Контейнеры Appwrite находятся в состоянии Up (docker ps).
  • Веб-интерфейс доступен по указанному hostname и пользователь может зарегистрироваться.
  • Проект создан и платформа зарегистрирована.

Краткое резюме

Поздравляем — вы успешно установили Appwrite на Ubuntu 22.04 с помощью Docker. Для тестовой среды достаточно шагов выше; для production заранее продумайте управление ключами, отдельную СУБД, резервирование данных и корректные TLS-сертификаты.

Ключевые термины

  • Appwrite — open source backend-as-a-service для мобильных и веб-приложений.
  • Docker — система контейнеризации приложений.
  • Traefik — обратный прокси и менеджер TLS в составе стека.
  • MariaDB/Redis/InfluxDB — сервисы, используемые Appwrite для хранения и метрик.

Если нужны примеры конфигураций, автоматизация с Ansible/Terraform или советы по масштабированию и отказоустойчивости — напишите, и я подготовлю пошаговый план под ваши требования.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро