Поиск по сайту:

Как установить Appwrite с Docker на Ubuntu 22.04


На этой странице

  1. Предпосылки
  2. Добавить репозиторий Docker
  3. Установите Docker CE
  4. Установите Appwrite в Ubuntu 22.04
  5. Доступ к веб-интерфейсу Appwrite
  6. Заключение

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

В этом посте мы покажем вам, как установить сервер Appwrite с Docker на Ubuntu 22.04.

Предпосылки

  • Сервер под управлением Ubuntu 22.04.
  • На сервере настроен пароль root.

Добавить репозиторий Docker

По умолчанию последняя версия Docker недоступна в стандартном репозитории Ubuntu. Поэтому вам нужно будет установить его из официального репозитория Dockers:

Сначала установите все необходимые зависимости с помощью следующей команды:

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

После установки всех пакетов загрузите и добавьте ключ Docker GPG с помощью следующей команды:

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

Затем добавьте официальный репозиторий Docker с помощью следующей команды:

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

После добавления репозитория Docker вы можете проверить добавленный репозиторий с помощью следующей команды:

apt-cache policy docker-ce

Вы получите следующий вывод:

docker-ce:
  Installed: (none)
  Candidate: 5:20.10.17~3-0~ubuntu-jammy
  Version table:
     5:20.10.17~3-0~ubuntu-jammy 500
        500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
     5:20.10.16~3-0~ubuntu-jammy 500
        500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
     5:20.10.15~3-0~ubuntu-jammy 500
        500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
     5:20.10.14~3-0~ubuntu-jammy 500
        500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
     5:20.10.13~3-0~ubuntu-jammy 500
        500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages

Установите Докер СЕ

Теперь установите пакет Docker CE, выполнив следующую команду:

apt install docker-ce -y

После установки Docker CE вы можете проверить версию Docker CE с помощью следующей команды:

docker --version

Вы должны увидеть следующий вывод:

Docker version 20.10.17, build 100c701

Вы также можете проверить статус Docker с помощью следующей команды:

systemctl status docker

Вы должны увидеть следующий вывод:

? docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-08-28 05:52:18 UTC; 47s ago
TriggeredBy: ? docker.socket
       Docs: https://docs.docker.com
   Main PID: 2719 (dockerd)
      Tasks: 7
     Memory: 30.3M
        CPU: 312ms
     CGroup: /system.slice/docker.service
             ??2719 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.379341986Z" level=info msg="scheme \"unix\" not registered, fallback to d>
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.379467088Z" level=info msg="ccResolverWrapper: sending update to cc: {[{u>
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.379593467Z" level=info msg="ClientConn switching balancer to \"pick_first>
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.427861369Z" level=info msg="Loading containers: start."
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.620267088Z" level=info msg="Default bridge (docker0) is assigned with an >
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.713742709Z" level=info msg="Loading containers: done."
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.744925054Z" level=info msg="Docker daemon" commit=a89b842 graphdriver(s)=>
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.745338168Z" level=info msg="Daemon has completed initialization"
Aug 28 05:52:18 ubuntu2204 systemd[1]: Started Docker Application Container Engine.
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.805663866Z" level=info msg="API listen on /run/docker.sock"

Установите Appwrite на Ubuntu 22.04

Теперь вы можете установить 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

Эта команда загрузит все необходимые образы для Appwrite и создаст контейнер. В процессе вам будет предложено выбрать порт сервера HTTP и HTTPS:

83577bffd893: Pull complete 
9722b4cda70e: Pull complete 
bede3c89f2f3: Pull complete 
0bb0dd9a25cc: Pull complete 
d431a0cda7a4: Pull complete 
bd9edd8b939c: Pull complete 
24ccf9e70cfd: Pull complete 
bc8aa3e29770: Pull complete 
4ee3909c4974: Pull complete 
359c5d4ab0a2: Pull complete 
97ffe4879aea: Pull complete 
42e96d223d26: Pull complete 
c12fc543b73f: Pull complete 
e25a36152792: Pull complete 
e672f91535ad: Pull complete 
f4a1c11b6f1d: Pull complete 
9df8264116e7: Pull complete 
f3c7599812dd: Pull complete 
cf51f2dd9e94: Pull complete 
Digest: sha256:ddc9e53482252df4eb2e0ff90a7efff6cec5346b34240f664ac24e582dc65071
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. Вам будет предложено указать имя хоста Appwrite:

Enter your Appwrite hostname (default: 'localhost')
appwrite.example.com

Provide your hostname and press the Enter key. Once the Appwrite has been installed, you will get the following output:

Enter a DNS A record hostname to serve as a CNAME for your custom domains.
You can use the same value as used for the Appwrite hostname. (default: 'localhost')
appwrite.example.com
Running "docker-compose -f /usr/src/code/appwrite/docker-compose.yml up -d --remove-orphans --renew-anon-volumes"
Appwrite installed successfully

Теперь вы можете проверить все загруженные образы Docker с помощью следующей команды:

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
appwrite/runtime-for-java     16.0             80cb53a883d9   14 months ago   327MB
appwrite/runtime-for-node     16.0             dd69334e816d   14 months ago   116MB
appwrite/runtime-for-ruby     3.0              553408e76d3d   14 months ago   62.6MB
appwrite/runtime-for-python   3.9              98f1967126b5   14 months ago   47.6MB
appwrite/runtime-for-php      8.0              e6c8c40bd069   14 months ago   86.3MB
appwrite/telegraf             1.2.0            b524e292d428   15 months ago   127MB
redis                         6.0-alpine3.12   933c79ea2511   19 months ago   31.6MB
appwrite/influxdb             1.0.0            8c1dd387596e   22 months ago   248MB

Вы можете увидеть все запущенные контейнеры, используя следующую команду:

docker ps

Вы получите список всех запущенных контейнеров в следующем выводе:

                                 NAMES
a496ce91c5ed   traefik:2.5                "/entrypoint.sh --pr…"   33 seconds ago   Up 30 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   appwrite-traefik
36c7df33b630   appwrite/appwrite:0.12.1   "worker-database"        44 seconds ago   Up 33 seconds   80/tcp                                                                     appwrite-worker-database
66e36ce68586   appwrite/appwrite:0.12.1   "worker-functions"       45 seconds ago   Up 33 seconds   80/tcp                                                                     appwrite-worker-functions
5011d448b1ed   appwrite/appwrite:0.12.1   "realtime"               45 seconds ago   Up 33 seconds   80/tcp                                                                     appwrite-realtime
84e117d48e23   appwrite/appwrite:0.12.1   "docker-php-entrypoi…"   45 seconds ago   Up 33 seconds   80/tcp                                                                     appwrite
95465c386e19   appwrite/appwrite:0.12.1   "worker-audits"          45 seconds ago   Up 34 seconds   80/tcp                                                                     appwrite-worker-audits
c0ddb48e3d0c   appwrite/appwrite:0.12.1   "worker-certificates"    45 seconds ago   Up 33 seconds   80/tcp                                                                     appwrite-worker-certificates
0cc2c6f401d8   appwrite/appwrite:0.12.1   "worker-webhooks"        45 seconds ago   Up 33 seconds   80/tcp                                                                     appwrite-worker-webhooks
47a519fa6e6d   appwrite/appwrite:0.12.1   "worker-deletes"         45 seconds ago   Up 37 seconds   80/tcp                                                                     appwrite-worker-deletes
af354030c8f7   appwrite/appwrite:0.12.1   "usage"                  45 seconds ago   Up 37 seconds   80/tcp                                                                     appwrite-usage
f25b1832b3bc   appwrite/appwrite:0.12.1   "schedule"               46 seconds ago   Up 40 seconds   80/tcp                                                                     appwrite-schedule
f5c7c025ecb3   appwrite/appwrite:0.12.1   "maintenance"            46 seconds ago   Up 41 seconds   80/tcp                                                                     appwrite-maintenance
e25d6b28b033   appwrite/appwrite:0.12.1   "worker-mails"           46 seconds ago   Up 38 seconds   80/tcp                                                                     appwrite-worker-mails
1c927b29732f   appwrite/telegraf:1.2.0    "/entrypoint.sh tele…"   48 seconds ago   Up 45 seconds   8092/udp, 8125/udp, 8094/tcp                                               appwrite-telegraf
7d8e644afba3   mariadb:10.7               "docker-entrypoint.s…"   48 seconds ago   Up 45 seconds   3306/tcp                                                                   appwrite-mariadb
21e8c76c53a0   appwrite/influxdb:1.0.0    "/entrypoint.sh infl…"   48 seconds ago   Up 46 seconds   8086/tcp                                                                   appwrite-influxdb
5b136250c71f   redis:6.0-alpine3.12       "docker-entrypoint.s…"   48 seconds ago   Up 46 seconds   6379/tcp                                                                   appwrite-redis

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

Теперь откройте веб-браузер и войдите в веб-интерфейс Appwrite, используя URL-адрес https://appwrite.example.com. Вы будете перенаправлены на страницу регистрации Appwrite:

Укажите свое имя, адрес электронной почты, пароль и нажмите кнопку «Зарегистрироваться». Вы должны увидеть панель инструментов Appwrite на следующей странице:

Нажмите кнопку «Создать проект», чтобы создать свой первый проект. Вы должны увидеть следующую страницу:

Укажите идентификатор проекта, название проекта и нажмите кнопку «Создать». Вы попадете на страницу своего проекта:

Теперь вам нужно добавить платформу для создания вашего приложения. Нажмите на кнопку «Добавить платформу». Вы должны увидеть следующую страницу:

Укажите свое имя приложения, имя хоста и нажмите кнопку «Зарегистрироваться». Вы должны увидеть следующую страницу:

Заключение

Поздравляем! вы успешно установили Appwrite с Docker на Ubuntu 22.04. Теперь вы можете развернуть свое первое веб-приложение или мобильное приложение на платформе Appwrite. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.