From 9501d5f974d03058c7fadd199317bac5840c92c6 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Fri, 19 Dec 2025 18:16:25 -0600 Subject: [PATCH] Add Easy!Appointments template (#608) * Initial plan * Add Easyappointments template with docker-compose, template.toml, and meta.json entry Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com> * Update blueprints/easyappointments/template.toml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update template.toml --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Siumauricio <47042324+Siumauricio@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .gitignore | 1 + .../easyappointments/docker-compose.yml | 29 ++++++++++++++++++ blueprints/easyappointments/logo.png | Bin 0 -> 5535 bytes blueprints/easyappointments/template.toml | 13 ++++++++ meta.json | 17 ++++++++++ 5 files changed, 60 insertions(+) create mode 100644 blueprints/easyappointments/docker-compose.yml create mode 100644 blueprints/easyappointments/logo.png create mode 100644 blueprints/easyappointments/template.toml diff --git a/.gitignore b/.gitignore index 2448babf..c0cadd7c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules +package-lock.json meta.json.backup.* diff --git a/blueprints/easyappointments/docker-compose.yml b/blueprints/easyappointments/docker-compose.yml new file mode 100644 index 00000000..ee2e1edf --- /dev/null +++ b/blueprints/easyappointments/docker-compose.yml @@ -0,0 +1,29 @@ +version: "3.8" + +services: + easyappointments: + image: alextselegidis/easyappointments:1.5.0 + restart: unless-stopped + environment: + - BASE_URL=http://${DOMAIN} + - DB_HOST=mysql + - DB_NAME=easyappointments + - DB_USERNAME=root + - DB_PASSWORD=${DB_PASSWORD} + volumes: + - easyappointments:/var/www/html + depends_on: + - mysql + + mysql: + image: mysql:8.0 + restart: unless-stopped + environment: + - MYSQL_ROOT_PASSWORD=${DB_PASSWORD} + - MYSQL_DATABASE=easyappointments + volumes: + - mysql:/var/lib/mysql + +volumes: + easyappointments: + mysql: diff --git a/blueprints/easyappointments/logo.png b/blueprints/easyappointments/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..422670b98f375aeaefd0394f980c2ba044f0c538 GIT binary patch literal 5535 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 literal 0 HcmV?d00001 diff --git a/blueprints/easyappointments/template.toml b/blueprints/easyappointments/template.toml new file mode 100644 index 00000000..997ee0e1 --- /dev/null +++ b/blueprints/easyappointments/template.toml @@ -0,0 +1,13 @@ +[variables] +main_domain = "${domain}" +db_password = "${password:32}" + +[config] +[[config.domains]] +serviceName = "easyappointments" +port = 80 +host = "${main_domain}" + +[config.env] +DOMAIN = "${main_domain}" +DB_PASSWORD = "${db_password}" diff --git a/meta.json b/meta.json index 5b41cd31..358c0902 100644 --- a/meta.json +++ b/meta.json @@ -2033,6 +2033,23 @@ "simple" ] }, + { + "id": "easyappointments", + "name": "Easy!Appointments", + "version": "1.5.0", + "description": "Easy!Appointments is a highly customizable web application that allows customers to book appointments with you via a sophisticated web interface.", + "logo": "logo.png", + "links": { + "github": "https://github.com/alextselegidis/easyappointments", + "website": "https://easyappointments.org", + "docs": "https://easyappointments.org/docs" + }, + "tags": [ + "scheduling", + "appointments", + "booking" + ] + }, { "id": "elastic-search", "name": "Elasticsearch",