Nghia Phan 28 tháng 8, 2026
Update:
29 tháng 8, 2026
Easy!Appointments is an open-source web application for customer bookings and can synchronize with Google Calendar. This guide uses a private Docker network and stores the database under ~/docker/mariadb.
Install Docker Log into Linux with a sudo-capable account and run the commands below. The source uses apt-key; on a current distribution, also check the
official Docker installation documentation
because this command is 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
Create the database and application containers Create the directory and give the current user ownership: 1
2
mkdir ~/docker/mariadb -p
sudo chown " $USER " :" $USER " ~/docker -R
Create the shared network: 1
docker network create containers
Start MariaDB. Replace both [DB_PASSWORD] values with private passwords; do not use the source tutorial's example passwords: 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
Start Easy!Appointments and point it to 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
Finish in the web installer Open http://DNSorIP:8089. Wait for the Easy!Appointments installer. Complete the Administrator and Company fields, then click Install Easy!Appointments . After reaching the application, check the containers with docker ps; inspect the log if the page does not load. 1
2
docker ps
docker logs --tail= 50 easy-appointments
Back up ~/docker/mariadb before upgrading the image. Do not expose the database port to the Internet.
Sources and video
Góp Ý / Bình Luận / Đánh giá