CHECKING STATUS
I AM LISTENING TO
|

Day 15: EasyAppointments – Open-Source Appointment Scheduling – 7 Days of Docker

6. March 2025
.SHARE

Table of Contents

Part 1: Understanding EasyAppointments

What is EasyAppointments?

EasyAppointments is a powerful open-source appointment scheduling application that simplifies the process of managing bookings. It’s designed to be highly customizable and can be adapted to various business needs, from small service providers to larger enterprises.

Key Features of EasyAppointments

  • Multilingual support: Translated user interface for global accessibility
  • Customer and appointment management: Easily track and manage all your appointments in one place
  • Service and provider organization: Set up different services with associated providers
  • Working plan and booking rules: Define when services are available
  • Google Calendar synchronization: Keep your appointments in sync with Google Calendar
  • Email notification system: Automated emails for bookings, cancellations, and reminders
  • Self-hosted installation: Complete control over your data and privacy

Part 2: Setting Up EasyAppointments with Docker

Prerequisites

  • A server with Docker installed
  • Basic knowledge of Docker concepts
  • Administrative access to your server

Installation Process

Preparing the Docker Environment

Begin by pulling the official EasyAppointments Docker image to your server. This image contains all the necessary components for running the application. Execute the following command in your terminal to download the latest version:

Setting Up the Database

EasyAppointments requires a MySQL database to store appointment data, customer information, and configuration settings. Create a dedicated database container with the following command:

This command creates a container named “easyappointments-db” running MySQL with a database specifically for EasyAppointments. Make sure to replace “your_secure_password” with a strong password of your choice.

Deploying the Application

With the database in place, you can now deploy the EasyAppointments application container. The following command links the application to the database and exposes it on port 80:

This configuration establishes the connection between EasyAppointments and the MySQL database created earlier. The application will be accessible on port 80 of your server.

Completing the Setup

After successfully deploying the containers, open your web browser and navigate to your server’s IP address (http://your_server_ip). You’ll be presented with the EasyAppointments setup wizard. This user-friendly interface will guide you through the initial configuration process, including creating an administrator account and setting up your business details.

Simplified Deployment with Docker Compose

Creating a Configuration File

Docker Compose offers a more elegant approach to managing multi-container applications like EasyAppointments. Begin by creating a configuration file named docker-compose.yml in your project directory. This file will define both the database and application containers along with their respective settings:

This configuration specifies two services: the EasyAppointments application and a MySQL database. It also sets up persistent volumes for both containers to ensure data is preserved even if the containers are restarted or updated.

Launching the Application Stack

With the configuration file in place, you can deploy the entire application stack with a single command:

The Docker Compose tool will read your configuration file, download the necessary images if they’re not already available, and create the containers according to your specifications. The -d flag runs the containers in detached mode, allowing them to operate in the background.

Email Configuration

For email notifications, add these environment variables to your Docker configuration:

Thoughts

By combining EasyAppointments and Portainer, you’ve set up a powerful, self-hosted solution for appointment scheduling and container management. This approach gives you complete control over your data while providing robust functionality.

The Docker-based deployment makes maintenance, updates, and backups straightforward, allowing you to focus on your business rather than complex IT management. As your needs grow, both tools can scale with you, offering additional features and capabilities.

For more information, visit the official documentation:

Happy scheduling and container managing!

Let’s Talk!

Looking for a reliable partner to bring your project to the next level? Whether it’s development, design, security, or ongoing support—I’d love to chat and see how I can help.

Get in touch,
and let’s create something amazing together!

RELATED POSTS

An area that I am constantly monitoring for REALFUSION, to offer our customers the best solution for their requirements. The global digital kiosk software market is experiencing rapid growth, valued at $7.48 billion in 2023 and projected to reach $17.02 billion by 2030 with a 12.6% CAGR (Compound Annual Growth Rate). The broader interactive kiosk […]

Part 1 Finding Your Way: Open Source Wayfinding Solutions 1. The Old Guard: UC Davis Wayfinding Let’s start with the granddaddy of them all – the UC Davis Wayfinding plugin. This jQuery-based solution has been around the block and back, with over 100 stars on GitHub and a track record of actually working in real-world […]

I recently completed a comprehensive demo setup for our Digital Kiosk Solutions at REALFUSION. While reviewing each module we offer, I integrated quick samples and listed available options, including external solutions. Indoor navigation represents a significant market opportunity, with 6-10 viable solution providers currently available. However, most face a critical challenge: their pricing models and […]

Alexander

I am a full-stack developer. My expertise include:

  • Server, Network and Hosting Environments
  • Data Modeling / Import / Export
  • Business Logic
  • API Layer / Action layer / MVC
  • User Interfaces
  • User Experience
  • Understand what the customer and the business needs


I have a deep passion for programming, design, and server architecture—each of these fuels my creativity, and I wouldn’t feel complete without them.

With a broad range of interests, I’m always exploring new technologies and expanding my knowledge wherever needed. The tech world evolves rapidly, and I love staying ahead by embracing the latest innovations.

Beyond technology, I value peace and surround myself with like-minded individuals.

I firmly believe in the principle: Help others, and help will find its way back to you when you need it.