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

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.
Краткая методология установки
- Подготовьте систему и установите зависимости.
- Добавьте официальный репозиторий Docker и установите Docker CE.
- Запустите инсталлятор Appwrite через docker run — он подтянет все образы и создаст docker-compose.yml.
- Настройте DNS/A запись и TLS (Traefik настраивается автоматически в простом случае).
- Проверьте образы, контейнеры и зайдите в веб-интерфейс 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, который вы указали при установке, например:
Вы должны попасть на страницу регистрации Appwrite (Sign Up). Заполните имя, email и пароль и нажмите кнопку Sign Up.

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

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

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


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

Выберите платформу для добавления (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)
- Проверка служб Docker:
systemctl status docker
journalctl -u docker -n 200 --no-pager- Проверка логов Appwrite/traefik:
docker-compose -f /usr/src/code/appwrite/docker-compose.yml logs -f traefik
docker logs - Если порты уже заняты (80/443): проверьте, что нет других web-серверов (nginx, apache):
ss -ltnp | grep ':80\|:443'Проблемы с DNS/сертификатом: убедитесь, что A-запись указывает на IP сервера и что Traefik имеет доступ к интернету для получения Let’s Encrypt сертификата.
Контейнеры не стартуют: проверьте доступность томов и права на папки (особенно если вы монтируете локальные тома).
Когда установка может не сработать
- На хосте недостаточно места на диске или памяти — убедитесь в свободном дисковом пространстве и 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 или советы по масштабированию и отказоустойчивости — напишите, и я подготовлю пошаговый план под ваши требования.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента