From b57bd0657d3b5bde872dd6474fc42a69332a3f18 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sun, 13 Jul 2025 19:34:46 -0400 Subject: [PATCH 01/12] Adding EasyAppointments service; MariaDB healthcheck. --- docker-compose.yml | 69 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 60 insertions(+), 9 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index fb8aecc2..8a8995d7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -710,7 +710,7 @@ services: container_name: castopod depends_on: mariadb: - condition: service_started + condition: service_healthy required: true restart: true castopod-valkey: @@ -1303,6 +1303,48 @@ services: source: /home/charish/.config/appdata target: /source type: bind + easyapointments: + container_name: easyappointments + depends_on: + mariadb: + condition: service_healthy + required: true + image: alextselegidis/easyappointments:latest + environment: + BASE_URL: http://appts.${MY_TLD} + DEBUG_MODE: TRUE + DB_HOST: mariadb + DB_NAME: easyappointments + DB_USERNAME: easyappt + DB_PASSWORD: ${EASYAPPOINTMENTS_DB_PASSWORD} + MAIL_PROTOCOL: mail + MAIL_SMTP_DEBUG: 0 + MAIL_SMTP_AUTH: 0 + MAIL_SMTP_HOST: postal-smtp + MAIL_SMTP_USER: ${POSTAL_SMTP_AUTH_USER} + MAIL_SMTP_PASS: ${POSTAL_SMTP_AUTH_PASSWORD} + MAIL_SMTP_CRYPTO: tls + MAIL_SMTP_PORT: 25 + MAIL_FROM_ADDRESS: noreply@${MY_TLD} + MAIL_FROM_NAME: 'Trez' + MAIL_REPLY_TO_ADDRESS: it-services@${MY_TLD} + labels: + homepage.group: Professional Services + homepage.name: Easy!Appointments + homepage.href: https://appt.${MY_TLD} + homepage.icon: sh-easy-appointments.png + homepage.description: Highly customizable appointment scheduler + swag: enable + swag_proto: http + swag_url: appt.${MY_TLD} + swag.uptime-kuma.enabled: true + swag.uptime-kuma.monitor.url: https://draw.${MY_TLD} + swag.uptime-kuma.monitor.interval: 300 + ports: + - 8362:80 + restart: unless-stopped + volumes: + - easyappointments:/var/www/html excalidraw: container_name: excalidraw image: 'excalidraw/excalidraw:latest' @@ -1420,7 +1462,7 @@ services: container_name: freescout depends_on: mariadb: - condition: service_started + condition: service_healthy required: true environment: ADMIN_EMAIL: it-services@${MY_TLD} @@ -1502,7 +1544,7 @@ services: container_name: ghost_blog depends_on: mariadb: - condition: service_started + condition: service_healthy required: true restart: true environment: @@ -2133,7 +2175,7 @@ services: container_name: invoice-ninja depends_on: mariadb: - condition: service_started + condition: service_healthy required: true restart: true environment: @@ -3283,6 +3325,11 @@ services: PGID: 1000 PUID: 1000 TZ: America/New_York + healthcheck: + test: ["CMD", "mariadb-admin", "ping", "-h", "localhost", "-p$MYSQL_ROOT_PASSWORD"] + interval: 1m30s + timeout: 10s + retries: 5 hostname: Rinoa image: linuxserver/mariadb networks: @@ -3599,7 +3646,8 @@ services: image: inovector/mixpost:latest depends_on: mariadb: - condition: service_started + condition: service_healthy + required: true mixpost-valkey: condition: service_healthy environment: @@ -3946,7 +3994,7 @@ services: container_name: paperless-ngx depends_on: mariadb: - condition: service_started + condition: service_healthy required: true restart: true environment: @@ -4222,7 +4270,7 @@ services: container_name: plant-it depends_on: mariadb: - condition: service_started + condition: service_healthy required: true plant-it-valkey: condition: service_healthy @@ -4851,7 +4899,8 @@ services: container_name: romm depends_on: mariadb: - condition: service_started + condition: service_healthy + required: true restart: true image: rommapp/romm:latest environment: @@ -6227,7 +6276,9 @@ volumes: name: dawarich_watched dockflare_data: name: dockflare_data - fastenhealth-cache: + easyappointments: + name: easyappointments + astenhealth-cache: name: fastenhealth-cache fastenhealth-db: name: fastenhealth-db From 141f016f53c53cf86448066b68b68b57db90eb5a Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sun, 13 Jul 2025 19:36:32 -0400 Subject: [PATCH 02/12] Homepage layout change (adding EasyAppointments). --- ansible/app-configs/homepage/settings.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible/app-configs/homepage/settings.yaml.j2 b/ansible/app-configs/homepage/settings.yaml.j2 index 6aae3450..52678d3d 100644 --- a/ansible/app-configs/homepage/settings.yaml.j2 +++ b/ansible/app-configs/homepage/settings.yaml.j2 @@ -47,7 +47,7 @@ layout: columns: 3 Professional Services: style: row - columns: 4 + columns: 3 Servarr Stack: style: row columns: 5 From 2eae3a1b3d927745f891998877a4ce581c4940c3 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sun, 13 Jul 2025 19:44:53 -0400 Subject: [PATCH 03/12] Adding EasyAppointments service; MariaDB healthcheck. --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 8a8995d7..b3cf3b6e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1330,7 +1330,7 @@ services: MAIL_REPLY_TO_ADDRESS: it-services@${MY_TLD} labels: homepage.group: Professional Services - homepage.name: Easy!Appointments + homepage.name: "Easy!Appointments" homepage.href: https://appt.${MY_TLD} homepage.icon: sh-easy-appointments.png homepage.description: Highly customizable appointment scheduler From 5847c4710e8d1b07928e708dd8e1781481c4d0ad Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sun, 13 Jul 2025 19:50:59 -0400 Subject: [PATCH 04/12] MariaDB healthcheck. --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index b3cf3b6e..11d4e4d3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3326,7 +3326,7 @@ services: PUID: 1000 TZ: America/New_York healthcheck: - test: ["CMD", "mariadb-admin", "ping", "-h", "localhost", "-p$MYSQL_ROOT_PASSWORD"] + test: ["CMD", "mariadb-admin", "ping", "-h", "localhost", "-p${MYSQL_ROOT_PASSWORD}"] interval: 1m30s timeout: 10s retries: 5 From efe81fdc3e27e9340f28dead28b6c2a64cadad86 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sun, 13 Jul 2025 19:54:31 -0400 Subject: [PATCH 05/12] MariaDB healthcheck. --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 11d4e4d3..58c2bb8c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3326,7 +3326,7 @@ services: PUID: 1000 TZ: America/New_York healthcheck: - test: ["CMD", "mariadb-admin", "ping", "-h", "localhost", "-p${MYSQL_ROOT_PASSWORD}"] + test: ["CMD", "mariadb-admin", "ping", "-h", "localhost", "-p${MARIADB_ENVIRONMENT_MYSQL_ROOT_PASSWORD}"] interval: 1m30s timeout: 10s retries: 5 From 3578082f4498d9bc8cf23b4d4496e120f171c5b5 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sun, 13 Jul 2025 19:58:13 -0400 Subject: [PATCH 06/12] Fastenhealth volume typo fix. --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 58c2bb8c..94982418 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6278,7 +6278,7 @@ volumes: name: dockflare_data easyappointments: name: easyappointments - astenhealth-cache: + fastenhealth-cache: name: fastenhealth-cache fastenhealth-db: name: fastenhealth-db From 4478137cf0c966d2de96ef59243edc8102c5044d Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Mon, 14 Jul 2025 07:12:22 -0400 Subject: [PATCH 07/12] MariaDB healthcheck script. --- docker-compose.yml | 28 ++++++---------------------- 1 file changed, 6 insertions(+), 22 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 94982418..bce31303 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3326,7 +3326,7 @@ services: PUID: 1000 TZ: America/New_York healthcheck: - test: ["CMD", "mariadb-admin", "ping", "-h", "localhost", "-p${MARIADB_ENVIRONMENT_MYSQL_ROOT_PASSWORD}"] + test: [ "CMD", "healthcheck.sh", "--connect", "--innodb_initialized" ] interval: 1m30s timeout: 10s retries: 5 @@ -3338,27 +3338,11 @@ services: - 3306:3306 restart: unless-stopped volumes: - - bind: - create_host_path: true - read_only: true - source: /etc/localtime - target: /etc/localtime - type: bind - - bind: - create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/mariadb - target: /config - type: bind - - source: ${DOCKER_VOLUME_STORAGE} - target: /storage - type: bind - bind: - create_host_path: true - - source: ${DOCKER_VOLUME_CONFIG}/mariadb - target: /var/lib/mysql - type: bind - bind: - create_host_path: true + - /etc/localtime:/etc/localtime:ro + - ${DOCKER_VOLUME_CONFIG}/mariadb:/config + - ${DOCKER_VOLUME_STORAGE}:/storage + - ${DOCKER_VOLUME_CONFIG}/mariadb:/var/lib/mysql + - ${DOCKER_VOLUME_CONFIG}/mariadb/healthcheck.sh:/usr/local/bin/healthcheck.sh mastodon: container_name: mastodon depends_on: From 647b2aef4eca02937c16a63280e1ddda43de22d2 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Mon, 14 Jul 2025 07:26:20 -0400 Subject: [PATCH 08/12] Fixed MariaDB healthcheck. --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index bce31303..9981eac2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3326,7 +3326,7 @@ services: PUID: 1000 TZ: America/New_York healthcheck: - test: [ "CMD", "healthcheck.sh", "--connect", "--innodb_initialized" ] + test: [ "CMD-SHELL", "mariadb-admin ping -h localhost -p${MARIADB_ENVIRONMENT_MYSQL_ROOT_PASSWORD} || exit 1" ] interval: 1m30s timeout: 10s retries: 5 From 39ffc7931c0d0e742ad547eb90343e55dd169887 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Mon, 14 Jul 2025 07:30:20 -0400 Subject: [PATCH 09/12] Fixed MariaDB healthcheck. --- docker-compose.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 9981eac2..fb3b253e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3342,7 +3342,6 @@ services: - ${DOCKER_VOLUME_CONFIG}/mariadb:/config - ${DOCKER_VOLUME_STORAGE}:/storage - ${DOCKER_VOLUME_CONFIG}/mariadb:/var/lib/mysql - - ${DOCKER_VOLUME_CONFIG}/mariadb/healthcheck.sh:/usr/local/bin/healthcheck.sh mastodon: container_name: mastodon depends_on: From 97e477d04649360a4216e151ce9c45ab96dba9db Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Mon, 14 Jul 2025 08:04:30 -0400 Subject: [PATCH 10/12] Fixed MariaDB healthcheck. --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index fb3b253e..da1d01e9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3326,7 +3326,7 @@ services: PUID: 1000 TZ: America/New_York healthcheck: - test: [ "CMD-SHELL", "mariadb-admin ping -h localhost -p${MARIADB_ENVIRONMENT_MYSQL_ROOT_PASSWORD} || exit 1" ] + test: [ "CMD-SHELL", "mariadb-admin ping -h localhost || exit 1" ] interval: 1m30s timeout: 10s retries: 5 From 6dd4a2f4094ed8feac41ca64c35a2e27c42d3e69 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Mon, 14 Jul 2025 08:12:02 -0400 Subject: [PATCH 11/12] Adjusting MariaDB dependencies. --- docker-compose.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index da1d01e9..f2af9ab1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -710,7 +710,7 @@ services: container_name: castopod depends_on: mariadb: - condition: service_healthy + condition: service_started required: true restart: true castopod-valkey: @@ -1307,7 +1307,7 @@ services: container_name: easyappointments depends_on: mariadb: - condition: service_healthy + condition: service_started required: true image: alextselegidis/easyappointments:latest environment: @@ -1462,7 +1462,7 @@ services: container_name: freescout depends_on: mariadb: - condition: service_healthy + condition: service_started required: true environment: ADMIN_EMAIL: it-services@${MY_TLD} @@ -1544,7 +1544,7 @@ services: container_name: ghost_blog depends_on: mariadb: - condition: service_healthy + condition: service_started required: true restart: true environment: @@ -2175,7 +2175,7 @@ services: container_name: invoice-ninja depends_on: mariadb: - condition: service_healthy + condition: service_started required: true restart: true environment: @@ -3322,9 +3322,9 @@ services: container_name: mariadb environment: MYSQL_ROOT_PASSWORD: ${MARIADB_ENVIRONMENT_MYSQL_ROOT_PASSWORD} - PGID: 1000 - PUID: 1000 - TZ: America/New_York + PGID: ${PGID} + PUID: ${PUID} + TZ: ${TZ} healthcheck: test: [ "CMD-SHELL", "mariadb-admin ping -h localhost || exit 1" ] interval: 1m30s @@ -3629,7 +3629,7 @@ services: image: inovector/mixpost:latest depends_on: mariadb: - condition: service_healthy + condition: service_started required: true mixpost-valkey: condition: service_healthy @@ -3977,7 +3977,7 @@ services: container_name: paperless-ngx depends_on: mariadb: - condition: service_healthy + condition: service_started required: true restart: true environment: @@ -4253,7 +4253,7 @@ services: container_name: plant-it depends_on: mariadb: - condition: service_healthy + condition: service_started required: true plant-it-valkey: condition: service_healthy @@ -4882,7 +4882,7 @@ services: container_name: romm depends_on: mariadb: - condition: service_healthy + condition: service_started required: true restart: true image: rommapp/romm:latest From 806928735cdc89131ed773aa0984a45f2e47f6e0 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Mon, 14 Jul 2025 12:26:22 +0000 Subject: [PATCH 12/12] chore: Update README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 54dccb35..ccd7c62d 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ | docker-socket-proxy | ghcr.io/tecnativa/docker-socket-proxy:latest | | dockflare | alplat/dockflare:stable | | duplicati | lscr.io/linuxserver/duplicati:latest | +| easyapointments | alextselegidis/easyappointments:latest | | excalidraw | excalidraw/excalidraw:latest | | explo | ghcr.io/lumepart/explo:latest | | fastenhealth | ghcr.io/fastenhealth/fasten-onprem:main |