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

Default Featured Image

Installation video tutorial available

As Easy!Appointments community is getting bigger and bigger users from all over the world start contributing to the project in…

Read Story

Introducing CLI command support

Modern applications require various types of interaction in order to serve a variety of purposes. From scripted automations to data…

Read Story
Default Featured Image

Follow Easy!Appointments on the web

If you want to get the latest updates on the development progress, show your support on the project or get informed…

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