Ricerca nel sito web

Come installare Appwrite con Docker su Ubuntu 22.04


Su questa pagina

  1. Prerequisiti
  2. Aggiungi repository Docker
  3. Installa Docker CE
  4. Installa Appwrite su Ubuntu 22.04
  5. Accedi all'interfaccia web di Appwrite
  6. Conclusione

Appwrite è un server back-end gratuito e open source che offre le API di base necessarie per creare qualsiasi applicazione impacchettata insieme come un insieme di contenitori Docker di facile utilizzo. Aiuta gli sviluppatori mobili a creare app avanzate molto più velocemente. Appwrite ti fa risparmiare il 70% del tempo e dei costi necessari per creare un'applicazione moderna. Offre un'interfaccia web semplice e intuitiva che ti aiuta a tenere traccia dell'utilizzo dell'API back-end e a gestire le risorse del tuo progetto da un browser web.

In questo post, ti mostreremo come installare il server Appwrite con Docker su Ubuntu 22.04.

Prerequisiti

  • Un server che esegue Ubuntu 22.04.
  • Sul server è configurata una password di root.

Aggiungi repository Docker

Per impostazione predefinita, l'ultima versione di Docker non è disponibile nel repository predefinito di Ubuntu. Quindi dovrai installarlo dal repository ufficiale di Dockers:

Innanzitutto, installa tutte le dipendenze richieste con il seguente comando:

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

Una volta installati tutti i pacchetti, scarica e aggiungi la chiave GPG Docker utilizzando il seguente comando:

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

Successivamente, aggiungi il repository ufficiale Docker con il seguente comando:

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

Una volta aggiunto il repository Docker, puoi verificare il repository aggiunto utilizzando il seguente comando:

apt-cache policy docker-ce

Otterrai il seguente output:

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

Installa Docker CE

Ora, installa il pacchetto Docker CE eseguendo il seguente comando:

apt install docker-ce -y

Una volta installato Docker CE, puoi verificare la versione di Docker CE con il seguente comando:

docker --version

Dovresti vedere il seguente output:

Docker version 20.10.17, build 100c701

Puoi anche verificare lo stato del Docker con il seguente comando:

systemctl status docker

Dovresti vedere il seguente output:

? 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"

Installa Appwrite su Ubuntu 22.04

Ora puoi installare Appwrite eseguendo il seguente comando:

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

Questo comando scaricherà tutte le immagini richieste per Appwrite e creerà un contenitore. Durante il processo, ti verrà chiesto di scegliere la porta del tuo server HTTP e 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')

Fornisci le tue porte preferite e premi il tasto Invio. Ti verrà chiesto di fornire il tuo nome host 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

Ora puoi verificare tutte le immagini Docker scaricate con il seguente comando:

docker images

Otterrai il seguente output:

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

Puoi vedere tutti i contenitori in esecuzione utilizzando il seguente comando:

docker ps

Otterrai un elenco di tutti i contenitori in esecuzione nel seguente output:

                                 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

Accedi all'interfaccia Web di Appwrite

Ora apri il tuo browser web e accedi all'interfaccia web di Appwrite utilizzando l'URL https://appwrite.example.com. Verrai reindirizzato alla pagina di registrazione di Appwrite:

Fornisci il tuo nome, indirizzo email, password e fai clic sul pulsante Iscriviti. Dovresti vedere la dashboard di Appwrite nella pagina seguente:

Fai clic sul pulsante Crea progetto per creare il tuo primo progetto. Dovresti vedere la seguente pagina:

Fornisci il tuo ID progetto, il nome del progetto e fai clic sul pulsante Crea. Entrerai nella pagina del tuo progetto:

Ora dovrai aggiungere una piattaforma per creare la tua applicazione. Fare clic sul pulsante Aggiungi piattaforma. Dovresti vedere la seguente pagina:

Fornisci il tuo nome app, nome host e fai clic sul pulsante Registrati. Dovresti vedere la seguente pagina:

Conclusione

Congratulazioni! hai installato correttamente Appwrite con Docker su Ubuntu 22.04. Ora puoi distribuire la tua prima applicazione web o mobile sulla piattaforma Appwrite. Non esitate a chiedermi se avete domande.