Easy Appointments

Easy Appointments is an open source web application for booking / scheduling appointments. It allows for many customization options and use-cases and provides optional sync to Google Calendar.

Easy Appointments was first released 2016 and is maintained by Alex Tselegidis. It is distributed under GPL 3.0.


For this guide you should be familiar with the basic concepts of


You’ll need your MySQL credentials. Get them with my_print_defaults:

[isabell@stardust ~]$ my_print_defaults client
[isabell@stardust ~]$

We suggest using an additional database. Create one with:

[isabell@stardust ~]$ mysql -e "CREATE DATABASE ${USER}_ea"

Your domain needs to be setup:

[isabell@stardust ~]$ uberspace web domain list
[isabell@stardust ~]$


cd into your document root, download the latest build, unzip and remove the zip file:

[isabell@stardust ~]$ cd /var/www/virtual/$USER/html/
[isabell@stardust html]$ wget https://github.com/alextselegidis/easyappointments/releases/download/1.3.2/easyappointments_1.3.2.zip
[isabell@stardust html]$ unzip easyappointments_1.3.2.zip
[isabell@stardust html]$ rm easyappointments_1.3.2.zip
[isabell@stardust ~]$


To get started set some basic configuration variables. First, copy the sample configuration:

[isabell@stardust ~]$ cd /var/www/virtual/$USER/html/
[isabell@stardust html]$ cp config-sample.php config.php
[isabell@stardust html]$

Then, edit config.php. In here you need to enter your base-URL, MySQL credentials database connection parameters and the name of your database (e.g. isabell_ea).

// ------------------------------------------------------------------------

const BASE_URL      = 'isabell.uber.space';
const LANGUAGE      = 'english';
const DEBUG_MODE    = FALSE;

// ------------------------------------------------------------------------
// ------------------------------------------------------------------------

const DB_HOST       = 'localhost';
const DB_NAME       = 'isabell_ea';
const DB_USERNAME   = 'isabell';
const DB_PASSWORD   = 'MySuperSecretPassword';

Finishing installation

Point your browser to your domain, https://isabell.uber.space/ in this example, to finish up the installation process. Here you will

  • Set a administrative account and password

  • Set basic settings for your business / usage

Easy Appointments is now ready to use.



Easy Appointments’ inbuilt language translations are not always perfect and you might want to change some wordings to better fit your needs. You can remove unneeded translations by removing them from the array in /var/www/virtual/$USER/html/application/config/config.php, for instance:

| Available Languages
| Each item of this array must be a directory with the translation files in
| the /application/language directory. The users will be able to select one
| of these languages.
$config['available_languages'] = [

You can also add a new translation by copying and renaming a translation-folder in /var/www/virtual/$USER/html/application/language/ and adding its name to the array above.

You can modify an existing translation by editing the translation_lang.php file in the desired language folder. For English this would be /var/www/virtual/$USER/html/application/language/english/translation_lang.php


The official documentation contains additional information on translation and other topics.



Check the update feed regularly to stay informed about the newest version.

  • Backup all your files and the database before updating!

  • Download the new version, unzip it and overwrite all the files in your document root except config.php.

  • Navigate your browser to https://isabell.uber.space/index.php/backend/update to run the database update.

Tested with Easy Appointments 1.4.3, Uberspace 7.13, PHP 8.1

Written by: Lukas Herzog <hallo@lukasherzog.de>