Bookmark

Chạy Easy!Appointments bằng Docker

Easy!Appointments là ứng dụng web mã nguồn mở cho phép khách đặt lịch và có thể đồng bộ với Google Calendar. Bài này dùng mạng Docker riêng và lưu database trong ~/docker/mariadb.

Youtube video player

Cài Docker

Đăng nhập Linux bằng tài khoản có quyền sudo, rồi chạy các lệnh sau. Tutorial gốc dùng apt-key; trên bản phân phối mới, hãy đối chiếu thêm tài liệu Docker chính thức vì lệnh này đã bị đánh dấu deprecated.

1
2
3
4
5
6
7
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg-agent -y
curl -fsSL https://download.docker.com/linux/$(awk -F'=' '/^ID=/{ print $NF }' /etc/os-release)/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/$(awk -F'=' '/^ID=/{ print $NF }' /etc/os-release) $(lsb_release -cs) stable"
sudo apt install docker-ce docker-compose containerd.io -y
sudo systemctl enable docker && sudo systemctl start docker
sudo usermod -aG docker $USER
su - $USER

Tạo database và container ứng dụng

  1. Tạo thư mục và cấp quyền cho user hiện tại:
1
2
mkdir ~/docker/mariadb -p
sudo chown "$USER":"$USER" ~/docker -R
  1. Tạo network dùng chung:
1
docker network create containers
  1. Chạy MariaDB. Thay cả hai giá trị [DB_PASSWORD] bằng mật khẩu riêng; không dùng mật khẩu trong tutorial gốc:
1
2
3
4
5
6
7
8
docker run -d --name mariadb \
  --network containers --network-alias db \
  -e MYSQL_ROOT_PASSWORD='[DB_ROOT_PASSWORD]' \
  -e MYSQL_USER=easy_appointments_rw \
  -e MYSQL_PASSWORD='[DB_PASSWORD]' \
  -e MYSQL_DATABASE=easy_appointments \
  -v /home/$USER/docker/mariadb:/var/lib/mysql \
  --restart=unless-stopped mariadb:latest
  1. Chạy Easy!Appointments và trỏ nó vào MariaDB:
1
2
3
4
5
6
7
8
docker run -d --name easy-appointments \
  --network containers -p 8089:80 \
  -e DB_HOST=mariadb \
  -e DB_NAME=easy_appointments \
  -e DB_USERNAME=easy_appointments_rw \
  -e DB_PASSWORD='[DB_PASSWORD]' \
  --restart=unless-stopped \
  alextselegidis/easyappointments

Hoàn tất trên web installer

  1. Mở http://DNSorIP:8089.
  2. Chờ màn hình cài đặt Easy!Appointments xuất hiện.
  3. Điền thông tin Administrator và Company, rồi bấm Install Easy!Appointments.
  4. Sau khi vào được giao diện, kiểm tra container bằng docker ps và xem log nếu trang chưa tải.
1
2
docker ps
docker logs --tail=50 easy-appointments

Sao lưu thư mục ~/docker/mariadb trước khi nâng cấp image. Không đưa database port ra Internet nếu không cần.

Nguồn và video


0 Bình luận

Góp Ý / Bình Luận / Đánh giá