using-official-docker-image

Using the official Docker image

Alex Tselegidis

In today’s fast-paced world, managing appointments efficiently is crucial for businesses and individuals alike. Whether you’re a small business owner juggling client meetings or a freelancer coordinating project timelines, having a reliable appointment scheduling system is indispensable. This is where Easy!Appointments comes into play – a powerful open-source appointment scheduling application that simplifies the process of managing bookings.

Even though setting up and managing Easy!Appointments on your local machine or server is very simple, Docker provides a solution that streamlines the process into a single command, making it extreme easy to run Easy!Appointments in any environment.

What is Docker?

Docker is a platform that allows you to package and distribute applications along with their dependencies in lightweight containers. These containers are portable and can run on any system that supports Docker, making it an ideal solution for deploying applications consistently across different environments.

Getting Started

1. Install Docker

If you haven’t already, install Docker on your system. Docker provides installation instructions for various operating systems on their website: Docker Installation Guide.

2. Pull Easy!Appointments Docker Image

Docker Hub hosts an official Easy!Appointments Docker image. Pull the latest image using the following command:

$ docker pull alextselegidis/easyappointments

3. Run Easy!Appointments Container

Once the image is downloaded, run Easy!Appointments as a Docker container:

# Start a MySQL instance
$ docker run -d --name test-db -e MYSQL_ROOT_PASSWORD=secret -e MYSQL_DATABASE=easyappointments mysql:latest

# Pull and run the app
$ docker run --name test-app -d --link test-db:db -p 80:80 -e DB_HOST=db -e DB_NAME=easyappointments -e DB_USERNAME=root -e DB_PASSWORD=secret alextselegidis/easyappointments

This command starts Easy!Appointments in a Docker container, mapping port 80 of the container to port 80 on the host system. Adjust the port mapping as needed.

4. Access Easy!Appointments

Open your web browser and navigate to http://localhost (or http://<your-server-ip> if running on a remote server). You should see the Easy!Appointments setup wizard, allowing you to configure the application.

5. Configuration and Customization

Follow the on-screen instructions to complete the setup wizard and configure Easy!Appointments according to your requirements. Additionally, you can customize the application further by mounting volumes or providing environment variables to the Docker container.

Docker Compose

You can use the following docker-compose.yml file to locally set up Easy!Appointments with a MySQL database:

version: '3.1'
services:
  easyapointments:
    image: 'easyappointments:1.4.3'
    environment:
      - BASE_URL=http://localhost
      - DEBUG_MODE=TRUE
      - DB_HOST=mysql
      - DB_NAME=easyappointments
      - DB_USERNAME=root
      - DB_PASSWORD=secret
    ports:
      - '80:80'
  mysql:
    image: 'mysql:8.0'
    volumes:
      - './docker/mysql:/var/lib/mysql'
    environment:
      - MYSQL_ROOT_PASSWORD=secret
      - MYSQL_DATABASE=easyappointments

Troubleshooting

If you experience problems with the original image, try to check the container output logs for more information and submit an issue to the GitHub repository of the project:

https://github.com/alextselegidis/easyappointments-docker

Finally star and follow the project and get informed for upcoming updates and releases.


Going Premium

Did you read this article but you’re still not sure on how to proceed?

Reach out to info@easyappointments.org and have an expert take care everything for you in zero time.

Get your free quote and get started now!

More great articles

Configuring cron jobs

Following up our previous article about using the available Easy!Appointments console commands, today we will take a closer look on…

Read Story
Default Featured Image

How to enable Google Calendar sync

Since version 1.0 Easy!Appointments supports two way synchronization with the Google Calendar API. Every provider can link his Google Calendar…

Read Story

Helping with text translations

Right out of the box, Easy!Appointments supports multiple languages (29 at the time of writing), featuring an automated language detection…

Read Story

Never miss a minute

Get great content to your inbox every month. No spam.

    Only great content, we don’t share your email with third parties.
    Arrow-up