Cách cài đặt Appwrite với Docker trên Ubuntu 22.04

theanh

Administrator
Nhân viên
Appwrite là máy chủ back-end miễn phí và mã nguồn mở cung cấp các API cốt lõi cần thiết để xây dựng bất kỳ ứng dụng nào được đóng gói cùng nhau dưới dạng một bộ container Docker dễ sử dụng. Nó giúp các nhà phát triển di động xây dựng các ứng dụng nâng cao nhanh hơn nhiều. Appwrite giúp bạn tiết kiệm 70% thời gian và chi phí cần thiết để xây dựng một ứng dụng hiện đại. Nó cung cấp một giao diện web đơn giản và thân thiện với người dùng giúp bạn theo dõi mức sử dụng API back-end và quản lý tài nguyên dự án của mình từ trình duyệt web.

Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách cài đặt máy chủ Appwrite với Docker trên Ubuntu 22.04.

Điều kiện tiên quyết​

  • Một máy chủ chạy Ubuntu 22.04.
  • Mật khẩu gốc được cấu hình trên máy chủ.

Thêm kho lưu trữ Docker​

Theo mặc định, phiên bản Docker mới nhất không khả dụng trong kho lưu trữ mặc định của Ubuntu. Vì vậy, bạn sẽ cần cài đặt nó từ kho lưu trữ chính thức của Docker:

Đầu tiên, hãy cài đặt tất cả các phụ thuộc cần thiết bằng lệnh sau:
Mã:
apt install apt-transport-https ca-certificates curl software-properties-common -y
Sau khi tất cả các gói được cài đặt, hãy tải xuống và thêm khóa GPG của Docker bằng lệnh sau:
Mã:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
Tiếp theo, thêm kho lưu trữ chính thức của Docker bằng lệnh sau:
Mã:
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu jammy stable"
Sau khi kho lưu trữ Docker được thêm vào, bạn có thể xác minh kho lưu trữ đã thêm bằng lệnh sau:
Mã:
apt-cache policy docker-ce
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
docker-ce: Installed: (none) Candidate: 5:20.10.17~3-0~ubuntu-jammy Bảng phiên bản: 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 Gói 5:20.10.15~3-0~ubuntu-jammy 500 500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Gói 5:20.10.14~3-0~ubuntu-jammy 500 500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Gói 5:20.10.13~3-0~ubuntu-jammy 500 500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Gói

Cài đặt Docker CE​

Bây giờ, hãy cài đặt gói Docker CE bằng cách chạy lệnh sau:
Mã:
apt install docker-ce -y
Sau khi Docker CE đã được cài đặt, bạn có thể xác minh phiên bản Docker CE bằng lệnh sau:
Mã:
docker --version
Bạn sẽ thấy kết quả sau:
Mã:
Docker version 20.10.17, build 100c701
Bạn cũng có thể xác minh trạng thái của Docker bằng lệnh sau:
Mã:
systemctl status docker
Bạn sẽ thấy kết quả sau:
Mã:
? docker.service - Docker Application Container Engine Đã tải: đã tải (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Đang hoạt động: đang hoạt động (đang chạy) kể từ CN 2022-08-28 05:52:18 UTC; 47 giây trướcTriggeredBy: ? docker.socket Tài liệu: https://docs.docker.com PID chính: 2719 (dockerd) Nhiệm vụ: 7 Bộ nhớ: 30,3M CPU: 312ms CGroup: /system.slice/docker.service ??2719 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock28 tháng 8 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.379341986Z" level=info msg="scheme \"unix\" not registered, fallback to d>28 tháng 8 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.379467088Z" level=info msg="ccResolverWrapper: đang gửi bản cập nhật đến cc: {[{u>28 tháng 8 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.379593467Z" level=info msg="ClientConn đang chuyển đổi bộ cân bằng thành \"pick_first>28 tháng 8 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.427861369Z" level=info msg="Đang tải container: bắt đầu."28 tháng 8 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.620267088Z" level=info msg="Cầu nối mặc định (docker0) được gán với >28 tháng 8 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.713742709Z" level=info msg="Đang tải container: xong."28 tháng 8 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.744925054Z" level=info msg="Trình nền Docker" commit=a89b842 graphdriver(s)=>28 tháng 8 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.745338168Z" level=info msg="Daemon đã hoàn tất quá trình khởi tạo"28 tháng 8 05:52:18 ubuntu2204 systemd[1]: Đã khởi động Docker Application Container Engine.28 tháng 8 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.805663866Z" level=info msg="API lắng nghe trên /run/docker.sock"

Cài đặt Appwrite trên Ubuntu 22.04​

Bây giờ bạn có thể cài đặt Appwrite bằng cách chạy lệnh sau:
Mã:
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
Lệnh này sẽ tải xuống tất cả các hình ảnh cần thiết cho Appwrite và tạo một vùng chứa. Trong quá trình này, bạn sẽ được yêu cầu chọn cổng máy chủ HTTP và HTTPS của mình:
Mã:
83577bffd893: Hoàn tất kéo9722b4cda70e: Hoàn tất kéobede3c89f2f3: Hoàn tất kéo0bb0dd9a25cc: Hoàn tất kéod431a0cda7a4: Hoàn tất kéobd9edd8b939c: Hoàn tất kéo24ccf9e70cfd: Hoàn tất kéobc8aa3e29770: Hoàn tất kéo4ee3909c4974: Hoàn tất kéo359c5d4ab0a2: Hoàn tất kéo97ffe4879aea: Hoàn tất kéo42e96d223d26: Hoàn tất kéoc12fc543b73f: Hoàn tất kéoe25a36152792: Hoàn tất kéoe672f91535ad: Hoàn tất kéo hoàn tấtf4a1c11b6f1d: Hoàn tất kéo9df8264116e7: Hoàn tất kéof3c7599812dd: Hoàn tất kéocf51f2dd9e94: Hoàn tất kéoTóm tắt: sha256:ddc9e53482252df4eb2e0ff90a7efff6cec5346b34240f664ac24e582dc65071Trạng thái: Đã tải xuống hình ảnh mới hơn cho appwrite/appwrite:0.12.1Đang bắt đầu cài đặt Appwrite...Chọn cổng HTTP của máy chủ: (mặc định: 80)Chọn cổng HTTPS của máy chủ: (mặc định: 443)Chọn khóa API bí mật, đảm bảo sao lưu khóa của bạn ở vị trí an toàn (mặc định: 'your-secret-key')
Cung cấp cổng ưa thích của bạn và nhấn phím Enter. Bạn sẽ được yêu cầu cung cấp tên máy chủ Appwrite của mình:
Mã:
Nhập tên máy chủ Appwrite của bạn (mặc định: 'localhost')appwrite.example.comCung cấp tên máy chủ của bạn và nhấn phím Enter. Sau khi Appwrite được cài đặt, bạn sẽ nhận được kết quả sau:Nhập tên máy chủ bản ghi DNS A để làm CNAME cho tên miền tùy chỉnh của bạn.Bạn có thể sử dụng cùng giá trị như được sử dụng cho tên máy chủ Appwrite. (mặc định: 'localhost')appwrite.example.comChạy "docker-compose -f /usr/src/code/appwrite/docker-compose.yml up -d --remove-orphans --renew-anon-volumes"Appwrite đã cài đặt thành công
Bây giờ bạn có thể xác minh tất cả các hình ảnh Docker đã tải xuống bằng lệnh sau:
Mã:
hình ảnh docker
Bạn sẽ nhận được đầu ra sau:
Mã:
THẺ REPOSITORY IMAGE ID CREATED SIZEmariadb 10.7 b0408ef424b9 4 ngày trước 415MBtraefik 2.5 865923368a9f 7 tháng trước 101MBappwrite/appwrite 0.12.1 5dd87572d61b 7 tháng trước 492MBappwrite/runtime-for-java 16.0 80cb53a883d9 14 tháng trước 327MBappwrite/runtime-for-node 16.0 dd69334e816d 14 tháng trước 116MBappwrite/runtime-for-ruby 3.0 553408e76d3d 14 tháng trước 62.6MBappwrite/runtime-for-python 3.9 98f1967126b5 14 tháng trước 47.6MBappwrite/runtime-for-php 8.0 e6c8c40bd069 14 tháng trước 86.3MBappwrite/telegraf 1.2.0 b524e292d428 15 tháng trước 127MBredis 6.0-alpine3.12 933c79ea2511 19 tháng trước 31,6MBappwrite/influxdb 1.0.0 8c1dd387596e 22 tháng trước 248MB
Bạn có thể xem tất cả các container đang chạy bằng lệnh sau:
Mã:
docker ps
Bạn sẽ nhận được danh sách tất cả các container đang chạy trong đầu ra sau:
Mã:
TÊNa496ce91c5ed traefik:2.5 "/entrypoint.sh --pr…" 33 giây trước Lên 30 giây 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp appwrite-traefik36c7df33b630 appwrite/appwrite:0.12.1 "worker-database" 44 giây trước Lên 33 giây 80/tcp appwrite-worker-database66e36ce68586 appwrite/appwrite:0.12.1 "worker-functions" 45 giây trước Lên 33 giây 80/tcp appwrite-worker-functions5011d448b1ed appwrite/appwrite:0.12.1 "realtime" 45 giây trước Lên 33 giây 80/tcp appwrite-realtime84e117d48e23 appwrite/appwrite:0.12.1 "docker-php-entrypoi…" 45 giây trước Lên 33 giây 80/tcp appwrite95465c386e19 appwrite/appwrite:0.12.1 "worker-audits" 45 giây trước Lên 34 giây 80/tcp appwrite-worker-auditsc0ddb48e3d0c appwrite/appwrite:0.12.1 "worker-certificates" 45 giây trước Lên 33 giây 80/tcp appwrite-worker-certificates0cc2c6f401d8 appwrite/appwrite:0.12.1 "worker-webhooks" 45 giây trước Lên 33 giây 80/tcp appwrite-worker-webhooks47a519fa6e6d appwrite/appwrite:0.12.1 "worker-deletes" 45 giây trước Lên 37 giây 80/tcp appwrite-worker-deletesaf354030c8f7 appwrite/appwrite:0.12.1 "usage" 45 giây trước Lên 37 giây 80/tcp appwrite-usagef25b1832b3bc appwrite/appwrite:0.12.1 "schedule" 46 giây trước Lên 40 giây 80/tcp appwrite-schedulef5c7c025ecb3 appwrite/appwrite:0.12.1 "maintenance" 46 giây trước Lên 41 giây 80/tcp appwrite-maintenancee25d6b28b033 appwrite/appwrite:0.12.1 "worker-mails" 46 giây trước Đã tải lên 38 giây 80/tcp appwrite-worker-mails1c927b29732f appwrite/telegraf:1.2.0 "/entrypoint.sh tele…" 48 giây trước Đã tải lên 45 giây 8092/udp, 8125/udp, 8094/tcp appwrite-telegraf7d8e644afba3 mariadb:10.7 "docker-entrypoint.s…" 48 giây trước Đã tải lên 45 giây 3306/tcp appwrite-mariadb21e8c76c53a0 appwrite/influxdb:1.0.0 "/entrypoint.sh infl…" 48 giây trước Đã tải lên 46 giây 8086/tcp appwrite-influxdb5b136250c71f redis:6.0-alpine3.12 "docker-entrypoint.s…" 48 giây trước Lên 46 giây 6379/tcp appwrite-redis

Truy cập Giao diện Web Appwrite​

Bây giờ, hãy mở trình duyệt web của bạn và truy cập giao diện web Appwrite bằng URL https://appwrite.example.com. Bạn sẽ được chuyển hướng đến trang Đăng ký Appwrite:



Cung cấp tên, địa chỉ email, mật khẩu của bạn và nhấp vào nút Đăng ký. Bạn sẽ thấy bảng điều khiển Appwrite trên trang sau:



Nhấp vào nút Tạo Dự án để tạo dự án đầu tiên của bạn. Bạn sẽ thấy trang sau:



Cung cấp ID Dự án, Tên Dự án của bạn và nhấp vào nút Tạo. Bạn sẽ vào trang dự án của mình:





Bây giờ, bạn sẽ cần thêm một nền tảng để xây dựng ứng dụng của mình. Nhấp vào nút Thêm nền tảng. Bạn sẽ thấy trang sau:



Cung cấp tên ứng dụng, tên máy chủ của bạn và nhấp vào nút Đăng ký. Bạn sẽ thấy trang sau:


Kết luận​

Xin chúc mừng! Bạn đã cài đặt thành công Appwrite với Docker trên Ubuntu 22.04. Bây giờ bạn có thể triển khai ứng dụng web hoặc di động đầu tiên của mình trên nền tảng Appwrite. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên