From b631c33d50c400d83ca05a5800fe409625e3a536 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 12 Oct 2025 19:51:56 -0700 Subject: [PATCH 01/50] Removed caddy from docker-compose definition --- compose.yml | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/compose.yml b/compose.yml index 32ae177..6cf33f9 100644 --- a/compose.yml +++ b/compose.yml @@ -1,24 +1,24 @@ --- # yaml-language-server: $schema=https://raw.githubusercontent.com/compose-spec/compose-spec/main/schema/compose-spec.json services: - caddy: - image: caddy:2.10.0-alpine@sha256:e2e3a089760c453bc51c4e718342bd7032d6714f15b437db7121bfc2de2654a6 - restart: always - ports: - - "80:80" - - "443:443" - environment: - DOMAIN: ${DOMAIN:?DOMAIN environment variable is required} - ADMIN_DOMAIN: ${ADMIN_DOMAIN:-} - ACTIVITYPUB_TARGET: ${ACTIVITYPUB_TARGET:-https://ap.ghost.org} - volumes: - - ./caddy:/etc/caddy - - caddy_data:/data - - caddy_config:/config - depends_on: - - ghost - networks: - - ghost_network + # caddy: + # image: caddy:2.10.0-alpine@sha256:e2e3a089760c453bc51c4e718342bd7032d6714f15b437db7121bfc2de2654a6 + # restart: always + # ports: + # - "80:80" + # - "443:443" + # environment: + # DOMAIN: ${DOMAIN:?DOMAIN environment variable is required} + # ADMIN_DOMAIN: ${ADMIN_DOMAIN:-} + # ACTIVITYPUB_TARGET: ${ACTIVITYPUB_TARGET:-https://ap.ghost.org} + # volumes: + # - ./caddy:/etc/caddy + # - caddy_data:/data + # - caddy_config:/config + # depends_on: + # - ghost + # networks: + # - ghost_network ghost: # Do not alter this without updating the Tinybird Sync container as well From e37da8856aba832053bc436c4f12202932f6a76a Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 12 Oct 2025 20:31:11 -0700 Subject: [PATCH 02/50] Removed explicit https definition as it was causing issues with Coolify. --- compose.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/compose.yml b/compose.yml index 6cf33f9..d432c8b 100644 --- a/compose.yml +++ b/compose.yml @@ -31,14 +31,14 @@ services: - .env environment: NODE_ENV: production - url: https://${DOMAIN:?DOMAIN environment variable is required} - admin__url: ${ADMIN_DOMAIN:+https://${ADMIN_DOMAIN}} + url: ${DOMAIN:?DOMAIN environment variable is required} + admin__url: ${ADMIN_DOMAIN:+${ADMIN_DOMAIN}} database__client: mysql database__connection__host: db database__connection__user: ${DATABASE_USER:-ghost} database__connection__password: ${DATABASE_PASSWORD:?DATABASE_PASSWORD environment variable is required} database__connection__database: ghost - tinybird__tracker__endpoint: https://${DOMAIN:?DOMAIN environment variable is required}/.ghost/analytics/api/v1/page_hit + tinybird__tracker__endpoint: ${DOMAIN:?DOMAIN environment variable is required}/.ghost/analytics/api/v1/page_hit tinybird__adminToken: ${TINYBIRD_ADMIN_TOKEN:-} tinybird__workspaceId: ${TINYBIRD_WORKSPACE_ID:-} tinybird__tracker__datasource: analytics_events @@ -116,7 +116,7 @@ services: MYSQL_PASSWORD: ${DATABASE_PASSWORD:?DATABASE_PASSWORD environment variable is required} MYSQL_DATABASE: activitypub LOCAL_STORAGE_PATH: /opt/activitypub/content/images/activitypub - LOCAL_STORAGE_HOSTING_URL: https://${DOMAIN}/content/images/activitypub + LOCAL_STORAGE_HOSTING_URL: ${DOMAIN}/content/images/activitypub depends_on: db: condition: service_healthy From b275a739ad00ee21c8c8f0e237c6ded16ea3a877 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 12 Oct 2025 20:45:27 -0700 Subject: [PATCH 03/50] Removed Caddy and commented out admin_domain --- compose.yml | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/compose.yml b/compose.yml index d432c8b..14c43e4 100644 --- a/compose.yml +++ b/compose.yml @@ -1,25 +1,6 @@ --- # yaml-language-server: $schema=https://raw.githubusercontent.com/compose-spec/compose-spec/main/schema/compose-spec.json services: - # caddy: - # image: caddy:2.10.0-alpine@sha256:e2e3a089760c453bc51c4e718342bd7032d6714f15b437db7121bfc2de2654a6 - # restart: always - # ports: - # - "80:80" - # - "443:443" - # environment: - # DOMAIN: ${DOMAIN:?DOMAIN environment variable is required} - # ADMIN_DOMAIN: ${ADMIN_DOMAIN:-} - # ACTIVITYPUB_TARGET: ${ACTIVITYPUB_TARGET:-https://ap.ghost.org} - # volumes: - # - ./caddy:/etc/caddy - # - caddy_data:/data - # - caddy_config:/config - # depends_on: - # - ghost - # networks: - # - ghost_network - ghost: # Do not alter this without updating the Tinybird Sync container as well image: ghost:${GHOST_VERSION:-6-alpine} @@ -32,7 +13,7 @@ services: environment: NODE_ENV: production url: ${DOMAIN:?DOMAIN environment variable is required} - admin__url: ${ADMIN_DOMAIN:+${ADMIN_DOMAIN}} + # admin__url: ${ADMIN_DOMAIN:+${ADMIN_DOMAIN}} database__client: mysql database__connection__host: db database__connection__user: ${DATABASE_USER:-ghost} From 1d0c2883819d984c4abc7fba2a4756f9af4ca893 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 12 Oct 2025 20:49:16 -0700 Subject: [PATCH 04/50] Allowed destructive operations for tinybird-deploy --- compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compose.yml b/compose.yml index 14c43e4..7e69ed0 100644 --- a/compose.yml +++ b/compose.yml @@ -154,7 +154,7 @@ services: working_dir: /data/tinybird command: > sh -c " - tb-wrapper --cloud deploy + tb-wrapper --cloud deploy --allow-destructive-operations " volumes: - tinybird_home:/home/tinybird From e77aa4669088972e8986e02bc65dae869a4f0e8a Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 12 Oct 2025 21:19:02 -0700 Subject: [PATCH 05/50] Add SMTP configuration options for mail service in Ghost container --- compose.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/compose.yml b/compose.yml index 7e69ed0..e490f59 100644 --- a/compose.yml +++ b/compose.yml @@ -24,6 +24,13 @@ services: tinybird__workspaceId: ${TINYBIRD_WORKSPACE_ID:-} tinybird__tracker__datasource: analytics_events tinybird__stats__endpoint: ${TINYBIRD_API_URL:-https://api.tinybird.co} + mail__transport: SMTP + mail__options__auth__pass: ${MAIL_OPTIONS_AUTH_PASS} + mail__options__auth__user: ${MAIL_OPTIONS_AUTH_USER} + mail__options__secure: ${MAIL_OPTIONS_SECURE:-true} + mail__options__port: ${MAIL_OPTIONS_PORT:-465} + mail__options__service: ${MAIL_OPTIONS_SERVICE:-Mailgun} + mail__options__host: ${MAIL_OPTIONS_HOST} volumes: - ${UPLOAD_LOCATION:-./data/ghost}:/var/lib/ghost/content depends_on: From 6c96161a22549fec22caf5b959bc9d24444ab103 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 12 Oct 2025 22:13:21 -0700 Subject: [PATCH 06/50] Add Caddy service configuration and update Ghost environment variables --- compose.yml | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/compose.yml b/compose.yml index e490f59..f93f859 100644 --- a/compose.yml +++ b/compose.yml @@ -1,6 +1,25 @@ --- # yaml-language-server: $schema=https://raw.githubusercontent.com/compose-spec/compose-spec/main/schema/compose-spec.json services: + caddy: + image: caddy:2.10.0-alpine@sha256:e2e3a089760c453bc51c4e718342bd7032d6714f15b437db7121bfc2de2654a6 + restart: always + ports: + - "80:80" + - "443:443" + environment: + DOMAIN: ${DOMAIN:?DOMAIN environment variable is required} + ADMIN_DOMAIN: ${ADMIN_DOMAIN:-example.${DOMAIN}} + ACTIVITYPUB_TARGET: ${ACTIVITYPUB_TARGET:-https://ap.ghost.org} + volumes: + - ./caddy:/etc/caddy + - caddy_data:/data + - caddy_config:/config + depends_on: + - ghost + networks: + - ghost_network + ghost: # Do not alter this without updating the Tinybird Sync container as well image: ghost:${GHOST_VERSION:-6-alpine} @@ -12,25 +31,18 @@ services: - .env environment: NODE_ENV: production - url: ${DOMAIN:?DOMAIN environment variable is required} - # admin__url: ${ADMIN_DOMAIN:+${ADMIN_DOMAIN}} + url: https://${DOMAIN:?DOMAIN environment variable is required} + admin__url: ${ADMIN_DOMAIN:-https://example.${DOMAIN}} database__client: mysql database__connection__host: db database__connection__user: ${DATABASE_USER:-ghost} database__connection__password: ${DATABASE_PASSWORD:?DATABASE_PASSWORD environment variable is required} database__connection__database: ghost - tinybird__tracker__endpoint: ${DOMAIN:?DOMAIN environment variable is required}/.ghost/analytics/api/v1/page_hit + tinybird__tracker__endpoint: https://${DOMAIN:?DOMAIN environment variable is required}/.ghost/analytics/api/v1/page_hit tinybird__adminToken: ${TINYBIRD_ADMIN_TOKEN:-} tinybird__workspaceId: ${TINYBIRD_WORKSPACE_ID:-} tinybird__tracker__datasource: analytics_events tinybird__stats__endpoint: ${TINYBIRD_API_URL:-https://api.tinybird.co} - mail__transport: SMTP - mail__options__auth__pass: ${MAIL_OPTIONS_AUTH_PASS} - mail__options__auth__user: ${MAIL_OPTIONS_AUTH_USER} - mail__options__secure: ${MAIL_OPTIONS_SECURE:-true} - mail__options__port: ${MAIL_OPTIONS_PORT:-465} - mail__options__service: ${MAIL_OPTIONS_SERVICE:-Mailgun} - mail__options__host: ${MAIL_OPTIONS_HOST} volumes: - ${UPLOAD_LOCATION:-./data/ghost}:/var/lib/ghost/content depends_on: @@ -104,7 +116,7 @@ services: MYSQL_PASSWORD: ${DATABASE_PASSWORD:?DATABASE_PASSWORD environment variable is required} MYSQL_DATABASE: activitypub LOCAL_STORAGE_PATH: /opt/activitypub/content/images/activitypub - LOCAL_STORAGE_HOSTING_URL: ${DOMAIN}/content/images/activitypub + LOCAL_STORAGE_HOSTING_URL: https://${DOMAIN}/content/images/activitypub depends_on: db: condition: service_healthy @@ -194,4 +206,4 @@ volumes: traffic_analytics_data: networks: - ghost_network: + ghost_network: \ No newline at end of file From 83af985a2d927475b2c34b7bb0de7fe1596be08b Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 12 Oct 2025 22:22:38 -0700 Subject: [PATCH 07/50] Remove default ADMIN_DOMAIN and update admin URL environment variable in Caddy and Ghost services --- compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compose.yml b/compose.yml index f93f859..80cb5e9 100644 --- a/compose.yml +++ b/compose.yml @@ -9,7 +9,7 @@ services: - "443:443" environment: DOMAIN: ${DOMAIN:?DOMAIN environment variable is required} - ADMIN_DOMAIN: ${ADMIN_DOMAIN:-example.${DOMAIN}} + ADMIN_DOMAIN: ${ADMIN_DOMAIN:-} ACTIVITYPUB_TARGET: ${ACTIVITYPUB_TARGET:-https://ap.ghost.org} volumes: - ./caddy:/etc/caddy @@ -32,7 +32,7 @@ services: environment: NODE_ENV: production url: https://${DOMAIN:?DOMAIN environment variable is required} - admin__url: ${ADMIN_DOMAIN:-https://example.${DOMAIN}} + admin__url: ${ADMIN_DOMAIN_FULL:-} database__client: mysql database__connection__host: db database__connection__user: ${DATABASE_USER:-ghost} From 5150632ccf5afc7afd1521e0cfc2c00bcdcb077d Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 12 Oct 2025 22:59:20 -0700 Subject: [PATCH 08/50] Remove Caddy service configuration and update Ghost admin URL environment variable --- compose.yml | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/compose.yml b/compose.yml index 80cb5e9..8553742 100644 --- a/compose.yml +++ b/compose.yml @@ -1,25 +1,6 @@ --- # yaml-language-server: $schema=https://raw.githubusercontent.com/compose-spec/compose-spec/main/schema/compose-spec.json services: - caddy: - image: caddy:2.10.0-alpine@sha256:e2e3a089760c453bc51c4e718342bd7032d6714f15b437db7121bfc2de2654a6 - restart: always - ports: - - "80:80" - - "443:443" - environment: - DOMAIN: ${DOMAIN:?DOMAIN environment variable is required} - ADMIN_DOMAIN: ${ADMIN_DOMAIN:-} - ACTIVITYPUB_TARGET: ${ACTIVITYPUB_TARGET:-https://ap.ghost.org} - volumes: - - ./caddy:/etc/caddy - - caddy_data:/data - - caddy_config:/config - depends_on: - - ghost - networks: - - ghost_network - ghost: # Do not alter this without updating the Tinybird Sync container as well image: ghost:${GHOST_VERSION:-6-alpine} @@ -32,7 +13,7 @@ services: environment: NODE_ENV: production url: https://${DOMAIN:?DOMAIN environment variable is required} - admin__url: ${ADMIN_DOMAIN_FULL:-} + admin__url: https://${ADMIN_DOMAIN:?ADMIN_DOMAIN environment variable is required} database__client: mysql database__connection__host: db database__connection__user: ${DATABASE_USER:-ghost} From d218ab15eb7f17abeeb9f7929f59ad78dacc5271 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 12 Oct 2025 23:16:33 -0700 Subject: [PATCH 09/50] Remove admin URL environment variable from Ghost service configuration --- compose.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/compose.yml b/compose.yml index 8553742..e4ff093 100644 --- a/compose.yml +++ b/compose.yml @@ -13,7 +13,6 @@ services: environment: NODE_ENV: production url: https://${DOMAIN:?DOMAIN environment variable is required} - admin__url: https://${ADMIN_DOMAIN:?ADMIN_DOMAIN environment variable is required} database__client: mysql database__connection__host: db database__connection__user: ${DATABASE_USER:-ghost} From cc6b5747277e6d563e57cbea1413802a323c8ced Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 12 Oct 2025 23:36:11 -0700 Subject: [PATCH 10/50] Update environment variable references from DOMAIN to URL in Ghost service configuration --- compose.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/compose.yml b/compose.yml index e4ff093..4bad186 100644 --- a/compose.yml +++ b/compose.yml @@ -12,13 +12,13 @@ services: - .env environment: NODE_ENV: production - url: https://${DOMAIN:?DOMAIN environment variable is required} + url: https://${URL:?URL environment variable is required} database__client: mysql database__connection__host: db database__connection__user: ${DATABASE_USER:-ghost} database__connection__password: ${DATABASE_PASSWORD:?DATABASE_PASSWORD environment variable is required} database__connection__database: ghost - tinybird__tracker__endpoint: https://${DOMAIN:?DOMAIN environment variable is required}/.ghost/analytics/api/v1/page_hit + tinybird__tracker__endpoint: https://${URL:?URL environment variable is required}/.ghost/analytics/api/v1/page_hit tinybird__adminToken: ${TINYBIRD_ADMIN_TOKEN:-} tinybird__workspaceId: ${TINYBIRD_WORKSPACE_ID:-} tinybird__tracker__datasource: analytics_events @@ -96,7 +96,7 @@ services: MYSQL_PASSWORD: ${DATABASE_PASSWORD:?DATABASE_PASSWORD environment variable is required} MYSQL_DATABASE: activitypub LOCAL_STORAGE_PATH: /opt/activitypub/content/images/activitypub - LOCAL_STORAGE_HOSTING_URL: https://${DOMAIN}/content/images/activitypub + LOCAL_STORAGE_HOSTING_URL: https://${URL}/content/images/activitypub depends_on: db: condition: service_healthy From 2e0340667dba0ec6ac0b358e2bc2245a9f5a4fb4 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 12 Oct 2025 23:47:28 -0700 Subject: [PATCH 11/50] Update environment variable references from URL to DOMAIN in Ghost service configuration --- compose.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/compose.yml b/compose.yml index 4bad186..8553742 100644 --- a/compose.yml +++ b/compose.yml @@ -12,13 +12,14 @@ services: - .env environment: NODE_ENV: production - url: https://${URL:?URL environment variable is required} + url: https://${DOMAIN:?DOMAIN environment variable is required} + admin__url: https://${ADMIN_DOMAIN:?ADMIN_DOMAIN environment variable is required} database__client: mysql database__connection__host: db database__connection__user: ${DATABASE_USER:-ghost} database__connection__password: ${DATABASE_PASSWORD:?DATABASE_PASSWORD environment variable is required} database__connection__database: ghost - tinybird__tracker__endpoint: https://${URL:?URL environment variable is required}/.ghost/analytics/api/v1/page_hit + tinybird__tracker__endpoint: https://${DOMAIN:?DOMAIN environment variable is required}/.ghost/analytics/api/v1/page_hit tinybird__adminToken: ${TINYBIRD_ADMIN_TOKEN:-} tinybird__workspaceId: ${TINYBIRD_WORKSPACE_ID:-} tinybird__tracker__datasource: analytics_events @@ -96,7 +97,7 @@ services: MYSQL_PASSWORD: ${DATABASE_PASSWORD:?DATABASE_PASSWORD environment variable is required} MYSQL_DATABASE: activitypub LOCAL_STORAGE_PATH: /opt/activitypub/content/images/activitypub - LOCAL_STORAGE_HOSTING_URL: https://${URL}/content/images/activitypub + LOCAL_STORAGE_HOSTING_URL: https://${DOMAIN}/content/images/activitypub depends_on: db: condition: service_healthy From 7a41cc2a3613d66493c2c036b307c705922dfa62 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 12 Oct 2025 23:57:18 -0700 Subject: [PATCH 12/50] Update environment variable references for Ghost service configuration --- compose.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/compose.yml b/compose.yml index 8553742..34fea6b 100644 --- a/compose.yml +++ b/compose.yml @@ -12,14 +12,14 @@ services: - .env environment: NODE_ENV: production - url: https://${DOMAIN:?DOMAIN environment variable is required} - admin__url: https://${ADMIN_DOMAIN:?ADMIN_DOMAIN environment variable is required} + url: $SERVICE_URL_GHOST + admin__url: https://${ADMIN_SUBDOMAIN:?ADMIN_SUBDOMAIN environment variable is required}.$SERVICE_FQDN_GHOST database__client: mysql database__connection__host: db database__connection__user: ${DATABASE_USER:-ghost} database__connection__password: ${DATABASE_PASSWORD:?DATABASE_PASSWORD environment variable is required} database__connection__database: ghost - tinybird__tracker__endpoint: https://${DOMAIN:?DOMAIN environment variable is required}/.ghost/analytics/api/v1/page_hit + tinybird__tracker__endpoint: $SERVICE_URL_GHOST/.ghost/analytics/api/v1/page_hit tinybird__adminToken: ${TINYBIRD_ADMIN_TOKEN:-} tinybird__workspaceId: ${TINYBIRD_WORKSPACE_ID:-} tinybird__tracker__datasource: analytics_events @@ -97,7 +97,7 @@ services: MYSQL_PASSWORD: ${DATABASE_PASSWORD:?DATABASE_PASSWORD environment variable is required} MYSQL_DATABASE: activitypub LOCAL_STORAGE_PATH: /opt/activitypub/content/images/activitypub - LOCAL_STORAGE_HOSTING_URL: https://${DOMAIN}/content/images/activitypub + LOCAL_STORAGE_HOSTING_URL: $SERVICE_URL_GHOST/content/images/activitypub depends_on: db: condition: service_healthy From ff3854cb5cca1657ef7b4ba16f166b03320c72d7 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Mon, 13 Oct 2025 00:02:59 -0700 Subject: [PATCH 13/50] Update admin URL environment variable to use default subdomain if not set --- compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compose.yml b/compose.yml index 34fea6b..f8526db 100644 --- a/compose.yml +++ b/compose.yml @@ -13,7 +13,7 @@ services: environment: NODE_ENV: production url: $SERVICE_URL_GHOST - admin__url: https://${ADMIN_SUBDOMAIN:?ADMIN_SUBDOMAIN environment variable is required}.$SERVICE_FQDN_GHOST + admin__url: https://${ADMIN_SUBDOMAIN:-ghostadmin.$SERVICE_FQDN_GHOST} database__client: mysql database__connection__host: db database__connection__user: ${DATABASE_USER:-ghost} From 729abe0f1cb11c25244731ac14a8274f4fb9c7f6 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Mon, 13 Oct 2025 00:06:22 -0700 Subject: [PATCH 14/50] No code changes made to the compose.yml file. --- compose.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/compose.yml b/compose.yml index f8526db..ddb5a2e 100644 --- a/compose.yml +++ b/compose.yml @@ -13,7 +13,6 @@ services: environment: NODE_ENV: production url: $SERVICE_URL_GHOST - admin__url: https://${ADMIN_SUBDOMAIN:-ghostadmin.$SERVICE_FQDN_GHOST} database__client: mysql database__connection__host: db database__connection__user: ${DATABASE_USER:-ghost} From 1d3b8c928780b166d2c11cd0736d8d3aa2d54f81 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Mon, 13 Oct 2025 01:46:47 -0700 Subject: [PATCH 15/50] Testing out a theory --- compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compose.yml b/compose.yml index ddb5a2e..cb65790 100644 --- a/compose.yml +++ b/compose.yml @@ -18,7 +18,7 @@ services: database__connection__user: ${DATABASE_USER:-ghost} database__connection__password: ${DATABASE_PASSWORD:?DATABASE_PASSWORD environment variable is required} database__connection__database: ghost - tinybird__tracker__endpoint: $SERVICE_URL_GHOST/.ghost/analytics/api/v1/page_hit + tinybird__tracker__endpoint: $SERVICE_URL_GHOST/ghost/analytics/api/v1/page_hit tinybird__adminToken: ${TINYBIRD_ADMIN_TOKEN:-} tinybird__workspaceId: ${TINYBIRD_WORKSPACE_ID:-} tinybird__tracker__datasource: analytics_events From 490d37f30e9e948feae1f82393b6050e7559b85f Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Mon, 13 Oct 2025 01:48:53 -0700 Subject: [PATCH 16/50] Chickening out on theory testing --- compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compose.yml b/compose.yml index cb65790..ddb5a2e 100644 --- a/compose.yml +++ b/compose.yml @@ -18,7 +18,7 @@ services: database__connection__user: ${DATABASE_USER:-ghost} database__connection__password: ${DATABASE_PASSWORD:?DATABASE_PASSWORD environment variable is required} database__connection__database: ghost - tinybird__tracker__endpoint: $SERVICE_URL_GHOST/ghost/analytics/api/v1/page_hit + tinybird__tracker__endpoint: $SERVICE_URL_GHOST/.ghost/analytics/api/v1/page_hit tinybird__adminToken: ${TINYBIRD_ADMIN_TOKEN:-} tinybird__workspaceId: ${TINYBIRD_WORKSPACE_ID:-} tinybird__tracker__datasource: analytics_events From b2d3d2491f2a2dd4f3ff695d784d0288b0386db3 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Mon, 13 Oct 2025 02:05:58 -0700 Subject: [PATCH 17/50] Refactor volume paths in compose.yml to use named volumes for Ghost and ActivityPub services --- compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compose.yml b/compose.yml index ddb5a2e..0379fdf 100644 --- a/compose.yml +++ b/compose.yml @@ -24,7 +24,7 @@ services: tinybird__tracker__datasource: analytics_events tinybird__stats__endpoint: ${TINYBIRD_API_URL:-https://api.tinybird.co} volumes: - - ${UPLOAD_LOCATION:-./data/ghost}:/var/lib/ghost/content + - ghost-content:/var/lib/ghost/content depends_on: db: condition: service_healthy @@ -87,7 +87,7 @@ services: expose: - "8080" volumes: - - ${UPLOAD_LOCATION:-./data/ghost}:/opt/activitypub/content + - ghost-content:/opt/activitypub/content environment: # See https://github.com/TryGhost/ActivityPub/blob/main/docs/env-vars.md NODE_ENV: production From b0ba3963a3ba6b407004ffab2e35e996c6bc2b9e Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Mon, 13 Oct 2025 02:07:24 -0700 Subject: [PATCH 18/50] Refactor MySQL volume path in compose.yml to use named volume --- compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compose.yml b/compose.yml index 0379fdf..cc5a981 100644 --- a/compose.yml +++ b/compose.yml @@ -52,7 +52,7 @@ services: MYSQL_DATABASE: ghost MYSQL_MULTIPLE_DATABASES: activitypub volumes: - - ${MYSQL_DATA_LOCATION:-./data/mysql}:/var/lib/mysql + - mysql-data:/var/lib/mysql - ./mysql-init:/docker-entrypoint-initdb.d healthcheck: test: mysqladmin ping -p$$MYSQL_ROOT_PASSWORD -h 127.0.0.1 From 5a43778ce792c176f54513b2c3a1402754debc74 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Mon, 13 Oct 2025 03:11:28 -0700 Subject: [PATCH 19/50] Add Traefik labels for ActivityPub service routing --- compose.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/compose.yml b/compose.yml index cc5a981..4fabdb8 100644 --- a/compose.yml +++ b/compose.yml @@ -105,6 +105,28 @@ services: profiles: [activitypub] networks: - ghost_network + labels: + # Enable Traefik for this service + - "traefik.enable=true" + - "traefik.http.services.activitypub.loadbalancer.server.port=8080" + + # Route: /.ghost/activitypub/* + - "traefik.http.routers.activitypub-main.rule=PathPrefix(`/.ghost/activitypub/`)" + - "traefik.http.routers.activitypub-main.service=activitypub" + - "traefik.http.routers.activitypub-main.priority=100" + - "traefik.http.routers.activitypub-main.entrypoints=https" + + # Route: /.well-known/webfinger + - "traefik.http.routers.activitypub-webfinger.rule=Path(`/.well-known/webfinger`)" + - "traefik.http.routers.activitypub-webfinger.service=activitypub" + - "traefik.http.routers.activitypub-webfinger.priority=100" + - "traefik.http.routers.activitypub-webfinger.entrypoints=https" + + # Route: /.well-known/nodeinfo + - "traefik.http.routers.activitypub-nodeinfo.rule=Path(`/.well-known/nodeinfo`)" + - "traefik.http.routers.activitypub-nodeinfo.service=activitypub" + - "traefik.http.routers.activitypub-nodeinfo.priority=100" + - "traefik.http.routers.activitypub-nodeinfo.entrypoints=https" # Suporting Services From 2822015d3f247b20d5ea31860346b9c8201ae409 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Mon, 13 Oct 2025 12:52:54 -0700 Subject: [PATCH 20/50] Enhance Traefik configuration for ActivityPub service with TLS support and improved routing rules --- compose.yml | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/compose.yml b/compose.yml index 4fabdb8..1b2c61d 100644 --- a/compose.yml +++ b/compose.yml @@ -107,28 +107,32 @@ services: - ghost_network labels: # Enable Traefik for this service - - "traefik.enable=true" - - "traefik.http.services.activitypub.loadbalancer.server.port=8080" + - traefik.enable=true + - traefik.http.services.activitypub.loadbalancer.server.port=8080 # Route: /.ghost/activitypub/* - - "traefik.http.routers.activitypub-main.rule=PathPrefix(`/.ghost/activitypub/`)" - - "traefik.http.routers.activitypub-main.service=activitypub" - - "traefik.http.routers.activitypub-main.priority=100" - - "traefik.http.routers.activitypub-main.entrypoints=https" + - 'traefik.http.routers.activitypub-main.rule=Host(`$SERVICE_FQDN_GHOST`) && PathPrefix(`/.ghost/activitypub/`)' + - traefik.http.routers.activitypub-main.service=activitypub + - traefik.http.routers.activitypub-main.priority=100 + - traefik.http.routers.activitypub-main.entrypoints=https + - traefik.http.routers.activitypub-main.tls=true + - traefik.http.routers.activitypub-main.tls.certresolver=letsencrypt # Route: /.well-known/webfinger - - "traefik.http.routers.activitypub-webfinger.rule=Path(`/.well-known/webfinger`)" - - "traefik.http.routers.activitypub-webfinger.service=activitypub" - - "traefik.http.routers.activitypub-webfinger.priority=100" - - "traefik.http.routers.activitypub-webfinger.entrypoints=https" + - 'traefik.http.routers.activitypub-webfinger.rule=Host(`$SERVICE_FQDN_GHOST`) && Path(`/.well-known/webfinger`)' + - traefik.http.routers.activitypub-webfinger.service=activitypub + - traefik.http.routers.activitypub-webfinger.priority=100 + - traefik.http.routers.activitypub-webfinger.entrypoints=https + - traefik.http.routers.activitypub-webfinger.tls=true + - traefik.http.routers.activitypub-webfinger.tls.certresolver=letsencrypt # Route: /.well-known/nodeinfo - - "traefik.http.routers.activitypub-nodeinfo.rule=Path(`/.well-known/nodeinfo`)" - - "traefik.http.routers.activitypub-nodeinfo.service=activitypub" - - "traefik.http.routers.activitypub-nodeinfo.priority=100" - - "traefik.http.routers.activitypub-nodeinfo.entrypoints=https" - - # Suporting Services + - 'traefik.http.routers.activitypub-nodeinfo.rule=Host(`$SERVICE_FQDN_GHOST`) && Path(`/.well-known/nodeinfo`)' + - traefik.http.routers.activitypub-nodeinfo.service=activitypub + - traefik.http.routers.activitypub-nodeinfo.priority=100 + - traefik.http.routers.activitypub-nodeinfo.entrypoints=https + - traefik.http.routers.activitypub-nodeinfo.tls=true + - traefik.http.routers.activitypub-nodeinfo.tls.certresolver=letsencrypt tinybird-login: build: From fb454930a54230ab08fd05550c98e768c7bb168d Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Mon, 13 Oct 2025 13:30:07 -0700 Subject: [PATCH 21/50] Remove Traefik labels from ActivityPub service in compose.yml --- compose.yml | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/compose.yml b/compose.yml index 1b2c61d..3a3e781 100644 --- a/compose.yml +++ b/compose.yml @@ -105,34 +105,6 @@ services: profiles: [activitypub] networks: - ghost_network - labels: - # Enable Traefik for this service - - traefik.enable=true - - traefik.http.services.activitypub.loadbalancer.server.port=8080 - - # Route: /.ghost/activitypub/* - - 'traefik.http.routers.activitypub-main.rule=Host(`$SERVICE_FQDN_GHOST`) && PathPrefix(`/.ghost/activitypub/`)' - - traefik.http.routers.activitypub-main.service=activitypub - - traefik.http.routers.activitypub-main.priority=100 - - traefik.http.routers.activitypub-main.entrypoints=https - - traefik.http.routers.activitypub-main.tls=true - - traefik.http.routers.activitypub-main.tls.certresolver=letsencrypt - - # Route: /.well-known/webfinger - - 'traefik.http.routers.activitypub-webfinger.rule=Host(`$SERVICE_FQDN_GHOST`) && Path(`/.well-known/webfinger`)' - - traefik.http.routers.activitypub-webfinger.service=activitypub - - traefik.http.routers.activitypub-webfinger.priority=100 - - traefik.http.routers.activitypub-webfinger.entrypoints=https - - traefik.http.routers.activitypub-webfinger.tls=true - - traefik.http.routers.activitypub-webfinger.tls.certresolver=letsencrypt - - # Route: /.well-known/nodeinfo - - 'traefik.http.routers.activitypub-nodeinfo.rule=Host(`$SERVICE_FQDN_GHOST`) && Path(`/.well-known/nodeinfo`)' - - traefik.http.routers.activitypub-nodeinfo.service=activitypub - - traefik.http.routers.activitypub-nodeinfo.priority=100 - - traefik.http.routers.activitypub-nodeinfo.entrypoints=https - - traefik.http.routers.activitypub-nodeinfo.tls=true - - traefik.http.routers.activitypub-nodeinfo.tls.certresolver=letsencrypt tinybird-login: build: From 04a208b684b2352a07d7ac7fb63461a95ec1794d Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Mon, 13 Oct 2025 18:11:22 -0700 Subject: [PATCH 22/50] Refactor profiles in compose.yml to use multi-line format for better readability --- compose.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/compose.yml b/compose.yml index 3a3e781..309eef5 100644 --- a/compose.yml +++ b/compose.yml @@ -115,7 +115,9 @@ services: volumes: - tinybird_home:/home/tinybird - tinybird_files:/data/tinybird - profiles: [analytics] + profiles: + - analytics + - tinybird-login-manual networks: - ghost_network tty: false @@ -141,7 +143,9 @@ services: condition: service_completed_successfully networks: - ghost_network - profiles: [analytics] + profiles: + - analytics + - tinybird-sync-manual restart: no tinybird-deploy: @@ -159,7 +163,9 @@ services: depends_on: tinybird-sync: condition: service_completed_successfully - profiles: [analytics] + profiles: + - analytics + - tinybird-deploy-manual networks: - ghost_network tty: true From 6d6ea8b08df4d8723a517ae041cb288b5ec06af0 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Mon, 13 Oct 2025 18:53:24 -0700 Subject: [PATCH 23/50] Add profiles for tinybird sync and deploy services in compose.yml --- compose.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/compose.yml b/compose.yml index 309eef5..9fbce8b 100644 --- a/compose.yml +++ b/compose.yml @@ -118,6 +118,8 @@ services: profiles: - analytics - tinybird-login-manual + - tinybird-sync-manual + - tinybird-deploy-manual networks: - ghost_network tty: false @@ -146,6 +148,7 @@ services: profiles: - analytics - tinybird-sync-manual + - tinybird-deploy-manual restart: no tinybird-deploy: From 53b26062310bc48d4a20aacd3b0b2aa8c725963d Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Mon, 13 Oct 2025 19:45:45 -0700 Subject: [PATCH 24/50] Refactor profiles in tinybird services to consolidate manual entries into a single analytics profile --- compose.yml | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/compose.yml b/compose.yml index 9fbce8b..0ab4040 100644 --- a/compose.yml +++ b/compose.yml @@ -115,11 +115,7 @@ services: volumes: - tinybird_home:/home/tinybird - tinybird_files:/data/tinybird - profiles: - - analytics - - tinybird-login-manual - - tinybird-sync-manual - - tinybird-deploy-manual + profiles: [analytics] networks: - ghost_network tty: false @@ -145,10 +141,7 @@ services: condition: service_completed_successfully networks: - ghost_network - profiles: - - analytics - - tinybird-sync-manual - - tinybird-deploy-manual + profiles: [analytics] restart: no tinybird-deploy: @@ -166,9 +159,7 @@ services: depends_on: tinybird-sync: condition: service_completed_successfully - profiles: - - analytics - - tinybird-deploy-manual + profiles: [analytics] networks: - ghost_network tty: true @@ -186,8 +177,8 @@ services: restart: no volumes: - caddy_data: - caddy_config: + ghost-content: + mysql-data: tinybird_files: tinybird_home: traffic_analytics_data: From 0f0aa2b345aa9c8dc52bab3ecb6ef23b52350f51 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Tue, 14 Oct 2025 01:11:32 -0700 Subject: [PATCH 25/50] Comment out tinybird-related services and volumes in compose.yml for future reference --- compose.yml | 150 ++++++++++++++++++++++++++-------------------------- 1 file changed, 75 insertions(+), 75 deletions(-) diff --git a/compose.yml b/compose.yml index 0ab4040..45d9cf0 100644 --- a/compose.yml +++ b/compose.yml @@ -63,23 +63,23 @@ services: networks: - ghost_network - traffic-analytics: - image: ghost/traffic-analytics:1.0.16@sha256:9bfdad7f32661f7fc2c0eb32bbf096d43e358ec416dffc7ca6df58185cb0cde3 - restart: always - expose: - - "3000" - volumes: - - traffic_analytics_data:/data - environment: - NODE_ENV: production - PROXY_TARGET: ${TINYBIRD_API_URL:-https://api.tinybird.co}/v0/events - SALT_STORE_TYPE: ${SALT_STORE_TYPE:-file} - SALT_STORE_FILE_PATH: /data/salts.json - TINYBIRD_TRACKER_TOKEN: ${TINYBIRD_TRACKER_TOKEN:-} - LOG_LEVEL: debug - profiles: [analytics] - networks: - - ghost_network + # traffic-analytics: + # image: ghost/traffic-analytics:1.0.16@sha256:9bfdad7f32661f7fc2c0eb32bbf096d43e358ec416dffc7ca6df58185cb0cde3 + # restart: always + # expose: + # - "3000" + # volumes: + # - traffic_analytics_data:/data + # environment: + # NODE_ENV: production + # PROXY_TARGET: ${TINYBIRD_API_URL:-https://api.tinybird.co}/v0/events + # SALT_STORE_TYPE: ${SALT_STORE_TYPE:-file} + # SALT_STORE_FILE_PATH: /data/salts.json + # TINYBIRD_TRACKER_TOKEN: ${TINYBIRD_TRACKER_TOKEN:-} + # LOG_LEVEL: debug + # profiles: [analytics] + # networks: + # - ghost_network activitypub: image: ghcr.io/tryghost/activitypub:1.1.0@sha256:39c212fe23603b182d68e67d555c6b9b04b1e57459dfc0bef26d6e4980eb04d1 @@ -106,63 +106,63 @@ services: networks: - ghost_network - tinybird-login: - build: - context: ./tinybird - dockerfile: Dockerfile - working_dir: /home/tinybird - command: /usr/local/bin/tinybird-login - volumes: - - tinybird_home:/home/tinybird - - tinybird_files:/data/tinybird - profiles: [analytics] - networks: - - ghost_network - tty: false - restart: no + # tinybird-login: + # build: + # context: ./tinybird + # dockerfile: Dockerfile + # working_dir: /home/tinybird + # command: /usr/local/bin/tinybird-login + # volumes: + # - tinybird_home:/home/tinybird + # - tinybird_files:/data/tinybird + # profiles: [analytics] + # networks: + # - ghost_network + # tty: false + # restart: no - tinybird-sync: - # Do not alter this without updating the Ghost container as well - image: ghost:${GHOST_VERSION:-6-alpine} - command: > - sh -c " - if [ -d /var/lib/ghost/current/core/server/data/tinybird ]; then - rm -rf /data/tinybird/*; - cp -rf /var/lib/ghost/current/core/server/data/tinybird/* /data/tinybird/; - echo 'Tinybird files synced into shared volume.'; - else - echo 'Tinybird source directory not found.'; - fi - " - volumes: - - tinybird_files:/data/tinybird - depends_on: - tinybird-login: - condition: service_completed_successfully - networks: - - ghost_network - profiles: [analytics] - restart: no + # tinybird-sync: + # # Do not alter this without updating the Ghost container as well + # image: ghost:${GHOST_VERSION:-6-alpine} + # command: > + # sh -c " + # if [ -d /var/lib/ghost/current/core/server/data/tinybird ]; then + # rm -rf /data/tinybird/*; + # cp -rf /var/lib/ghost/current/core/server/data/tinybird/* /data/tinybird/; + # echo 'Tinybird files synced into shared volume.'; + # else + # echo 'Tinybird source directory not found.'; + # fi + # " + # volumes: + # - tinybird_files:/data/tinybird + # depends_on: + # tinybird-login: + # condition: service_completed_successfully + # networks: + # - ghost_network + # profiles: [analytics] + # restart: no - tinybird-deploy: - build: - context: ./tinybird - dockerfile: Dockerfile - working_dir: /data/tinybird - command: > - sh -c " - tb-wrapper --cloud deploy --allow-destructive-operations - " - volumes: - - tinybird_home:/home/tinybird - - tinybird_files:/data/tinybird - depends_on: - tinybird-sync: - condition: service_completed_successfully - profiles: [analytics] - networks: - - ghost_network - tty: true + # tinybird-deploy: + # build: + # context: ./tinybird + # dockerfile: Dockerfile + # working_dir: /data/tinybird + # command: > + # sh -c " + # tb-wrapper --cloud deploy --allow-destructive-operations + # " + # volumes: + # - tinybird_home:/home/tinybird + # - tinybird_files:/data/tinybird + # depends_on: + # tinybird-sync: + # condition: service_completed_successfully + # profiles: [analytics] + # networks: + # - ghost_network + # tty: true activitypub-migrate: image: ghcr.io/tryghost/activitypub-migrations:1.1.0@sha256:b3ab20f55d66eb79090130ff91b57fe93f8a4254b446c2c7fa4507535f503662 @@ -179,9 +179,9 @@ services: volumes: ghost-content: mysql-data: - tinybird_files: - tinybird_home: - traffic_analytics_data: + # tinybird_files: + # tinybird_home: + # traffic_analytics_data: networks: ghost_network: \ No newline at end of file From 40559a50506bb8413cdd815563feeeebadf7a18e Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Tue, 14 Oct 2025 01:13:43 -0700 Subject: [PATCH 26/50] Comment out tinybird-sync and tinybird-deploy service dependencies in compose.yml for future reference --- compose.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/compose.yml b/compose.yml index 45d9cf0..7589f3c 100644 --- a/compose.yml +++ b/compose.yml @@ -28,12 +28,12 @@ services: depends_on: db: condition: service_healthy - tinybird-sync: - condition: service_completed_successfully - required: false - tinybird-deploy: - condition: service_completed_successfully - required: false + # tinybird-sync: + # condition: service_completed_successfully + # required: false + # tinybird-deploy: + # condition: service_completed_successfully + # required: false activitypub: condition: service_started required: false From 008717932af667dc87f1ff3bc7ec7e49b95ed670 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Tue, 14 Oct 2025 17:28:37 -0700 Subject: [PATCH 27/50] Add Redis service to compose.yml and update dependencies for activitypub --- compose.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/compose.yml b/compose.yml index 7589f3c..72b845c 100644 --- a/compose.yml +++ b/compose.yml @@ -97,15 +97,29 @@ services: MYSQL_DATABASE: activitypub LOCAL_STORAGE_PATH: /opt/activitypub/content/images/activitypub LOCAL_STORAGE_HOSTING_URL: $SERVICE_URL_GHOST/content/images/activitypub + REDIS_HOST: redis + REDIS_PORT: 6379 + FEDIFY_KV_STORE_TYPE: redis depends_on: db: condition: service_healthy activitypub-migrate: condition: service_completed_successfully + redis: + condition: service_healthy profiles: [activitypub] networks: - ghost_network + redis: + image: redis:alpine + restart: always + ports: + - '6379:6379' + command: redis-server --save 60 1 --loglevel warning + volumes: + - redis-data:/data + # tinybird-login: # build: # context: ./tinybird @@ -179,6 +193,8 @@ services: volumes: ghost-content: mysql-data: + redis-data: + redis-config: # tinybird_files: # tinybird_home: # traffic_analytics_data: From 3aa3aba818f22a23018a2450d94ac993a4855949 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Tue, 14 Oct 2025 17:32:34 -0700 Subject: [PATCH 28/50] Add healthcheck to Redis service in compose.yml --- compose.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/compose.yml b/compose.yml index 72b845c..92a2db9 100644 --- a/compose.yml +++ b/compose.yml @@ -119,6 +119,11 @@ services: command: redis-server --save 60 1 --loglevel warning volumes: - redis-data:/data + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 10s + timeout: 5s + retries: 3 # tinybird-login: # build: From bb2a5b92ceef933193d360c888b365e5020b05de Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Thu, 16 Oct 2025 17:26:11 -0700 Subject: [PATCH 29/50] Comment out Tinybird-related configuration in compose.yml for future reference --- compose.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/compose.yml b/compose.yml index 92a2db9..a7e2e3f 100644 --- a/compose.yml +++ b/compose.yml @@ -18,11 +18,11 @@ services: database__connection__user: ${DATABASE_USER:-ghost} database__connection__password: ${DATABASE_PASSWORD:?DATABASE_PASSWORD environment variable is required} database__connection__database: ghost - tinybird__tracker__endpoint: $SERVICE_URL_GHOST/.ghost/analytics/api/v1/page_hit - tinybird__adminToken: ${TINYBIRD_ADMIN_TOKEN:-} - tinybird__workspaceId: ${TINYBIRD_WORKSPACE_ID:-} - tinybird__tracker__datasource: analytics_events - tinybird__stats__endpoint: ${TINYBIRD_API_URL:-https://api.tinybird.co} + # tinybird__tracker__endpoint: $SERVICE_URL_GHOST/.ghost/analytics/api/v1/page_hit + # tinybird__adminToken: ${TINYBIRD_ADMIN_TOKEN:-} + # tinybird__workspaceId: ${TINYBIRD_WORKSPACE_ID:-} + # tinybird__tracker__datasource: analytics_events + # tinybird__stats__endpoint: ${TINYBIRD_API_URL:-https://api.tinybird.co} volumes: - ghost-content:/var/lib/ghost/content depends_on: From e02aa46a384b23c1040c67b76b6bd03d71b43516 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Fri, 17 Oct 2025 20:32:17 -0700 Subject: [PATCH 30/50] Update activitypub service port mapping in compose.yml --- compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compose.yml b/compose.yml index a7e2e3f..eaecca0 100644 --- a/compose.yml +++ b/compose.yml @@ -85,7 +85,7 @@ services: image: ghcr.io/tryghost/activitypub:1.1.0@sha256:39c212fe23603b182d68e67d555c6b9b04b1e57459dfc0bef26d6e4980eb04d1 restart: always expose: - - "8080" + - "7000:8080" volumes: - ghost-content:/opt/activitypub/content environment: From a79ba8a793c42a74712d3569da6fd846712a28e3 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Fri, 17 Oct 2025 20:37:05 -0700 Subject: [PATCH 31/50] Comment out port exposure for activitypub service in compose.yml --- compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compose.yml b/compose.yml index eaecca0..9ab2241 100644 --- a/compose.yml +++ b/compose.yml @@ -84,8 +84,8 @@ services: activitypub: image: ghcr.io/tryghost/activitypub:1.1.0@sha256:39c212fe23603b182d68e67d555c6b9b04b1e57459dfc0bef26d6e4980eb04d1 restart: always - expose: - - "7000:8080" + # expose: + # - "8080" volumes: - ghost-content:/opt/activitypub/content environment: From 3e33121dcb51bd70768bf655b316b67df99e6e90 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Fri, 17 Oct 2025 20:44:02 -0700 Subject: [PATCH 32/50] Uncomment port exposure for activitypub service in compose.yml --- compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compose.yml b/compose.yml index 9ab2241..a7e2e3f 100644 --- a/compose.yml +++ b/compose.yml @@ -84,8 +84,8 @@ services: activitypub: image: ghcr.io/tryghost/activitypub:1.1.0@sha256:39c212fe23603b182d68e67d555c6b9b04b1e57459dfc0bef26d6e4980eb04d1 restart: always - # expose: - # - "8080" + expose: + - "8080" volumes: - ghost-content:/opt/activitypub/content environment: From 55c3121bcce480a437e1906a70635ab4cf020341 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 19 Oct 2025 12:11:22 -0700 Subject: [PATCH 33/50] Comment out port exposure for ghost, db, activitypub, and redis services in compose.yml --- compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/compose.yml b/compose.yml index a7e2e3f..ac0bea1 100644 --- a/compose.yml +++ b/compose.yml @@ -5,8 +5,8 @@ services: # Do not alter this without updating the Tinybird Sync container as well image: ghost:${GHOST_VERSION:-6-alpine} restart: always - expose: - - "127.0.0.1:${GHOST_PORT:-2368}:2368" + # expose: + # - "127.0.0.1:${GHOST_PORT:-2368}:2368" # This is required to import current config when migrating env_file: - .env @@ -43,8 +43,8 @@ services: db: image: mysql:8.0.42@sha256:4445b2668d41143cb50e471ee207f8822006249b6859b24f7e12479684def5d9 restart: always - expose: - - "3306" + # expose: + # - "3306" environment: MYSQL_ROOT_PASSWORD: ${DATABASE_ROOT_PASSWORD:?DATABASE_ROOT_PASSWORD environment variable is required} MYSQL_USER: ${DATABASE_USER:-ghost} @@ -84,8 +84,8 @@ services: activitypub: image: ghcr.io/tryghost/activitypub:1.1.0@sha256:39c212fe23603b182d68e67d555c6b9b04b1e57459dfc0bef26d6e4980eb04d1 restart: always - expose: - - "8080" + # expose: + # - "8080" volumes: - ghost-content:/opt/activitypub/content environment: @@ -114,8 +114,8 @@ services: redis: image: redis:alpine restart: always - ports: - - '6379:6379' + # ports: + # - '6379:6379' command: redis-server --save 60 1 --loglevel warning volumes: - redis-data:/data From ea919bc9aee6d3dd2b37fa0d7d3bcebe9f3dd5ac Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 19 Oct 2025 13:33:30 -0700 Subject: [PATCH 34/50] Add healthcheck configurations for activitypub and redis services in compose.yml --- compose.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/compose.yml b/compose.yml index ac0bea1..c1c6f26 100644 --- a/compose.yml +++ b/compose.yml @@ -37,6 +37,16 @@ services: activitypub: condition: service_started required: false + healthcheck: + test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:2368/ghost/api/admin/site/"] + interval: 10s + retries: 3 + timeout: 5s + # healthcheck: + # test: "curl -H 'X-Forwarded-Proto: https' -If http://localhost:2368/ghost/api/admin/site || exit 1" + # interval: 30s + # retries: 5 + # timeout: 10s networks: - ghost_network @@ -108,6 +118,8 @@ services: redis: condition: service_healthy profiles: [activitypub] + healthcheck: + disable: true networks: - ghost_network @@ -124,6 +136,8 @@ services: interval: 10s timeout: 5s retries: 3 + networks: + - ghost_network # tinybird-login: # build: @@ -194,6 +208,10 @@ services: condition: service_healthy profiles: [activitypub] restart: no + healthcheck: + disable: true + networks: + - ghost_network volumes: ghost-content: From 37cc9810660f472120d57f7dc9dec7d96981587b Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 19 Oct 2025 13:35:54 -0700 Subject: [PATCH 35/50] Disable healthcheck for ghost service in compose.yml --- compose.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/compose.yml b/compose.yml index c1c6f26..2e66f63 100644 --- a/compose.yml +++ b/compose.yml @@ -38,10 +38,12 @@ services: condition: service_started required: false healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:2368/ghost/api/admin/site/"] - interval: 10s - retries: 3 - timeout: 5s + disable: true + # healthcheck: + # test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:2368/ghost/api/admin/site/"] + # interval: 10s + # retries: 3 + # timeout: 5s # healthcheck: # test: "curl -H 'X-Forwarded-Proto: https' -If http://localhost:2368/ghost/api/admin/site || exit 1" # interval: 30s From f560d1ce9db7247b84815220c9cdafd65dbe47eb Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 19 Oct 2025 13:40:06 -0700 Subject: [PATCH 36/50] Comment out env_file and networks for ghost and redis services in compose.yml --- compose.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/compose.yml b/compose.yml index 2e66f63..996a6cf 100644 --- a/compose.yml +++ b/compose.yml @@ -8,8 +8,8 @@ services: # expose: # - "127.0.0.1:${GHOST_PORT:-2368}:2368" # This is required to import current config when migrating - env_file: - - .env + # env_file: + # - .env environment: NODE_ENV: production url: $SERVICE_URL_GHOST @@ -138,8 +138,6 @@ services: interval: 10s timeout: 5s retries: 3 - networks: - - ghost_network # tinybird-login: # build: @@ -212,8 +210,6 @@ services: restart: no healthcheck: disable: true - networks: - - ghost_network volumes: ghost-content: From 99b6cf68dc856c625ef8e4bcac99a78d571293e5 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 19 Oct 2025 13:43:34 -0700 Subject: [PATCH 37/50] Comment out healthcheck configurations for ghost and redis services in compose.yml --- compose.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/compose.yml b/compose.yml index 996a6cf..99c9357 100644 --- a/compose.yml +++ b/compose.yml @@ -37,8 +37,8 @@ services: activitypub: condition: service_started required: false - healthcheck: - disable: true + # healthcheck: + # disable: true # healthcheck: # test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:2368/ghost/api/admin/site/"] # interval: 10s @@ -120,8 +120,8 @@ services: redis: condition: service_healthy profiles: [activitypub] - healthcheck: - disable: true + # healthcheck: + # disable: true networks: - ghost_network @@ -208,8 +208,8 @@ services: condition: service_healthy profiles: [activitypub] restart: no - healthcheck: - disable: true + # healthcheck: + # disable: true volumes: ghost-content: From 4da53a4fae51ce44078662b483b2b385cec19d24 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 19 Oct 2025 13:49:14 -0700 Subject: [PATCH 38/50] Disable healthcheck for activitypub and redis services in compose.yml --- compose.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/compose.yml b/compose.yml index 99c9357..996a6cf 100644 --- a/compose.yml +++ b/compose.yml @@ -37,8 +37,8 @@ services: activitypub: condition: service_started required: false - # healthcheck: - # disable: true + healthcheck: + disable: true # healthcheck: # test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:2368/ghost/api/admin/site/"] # interval: 10s @@ -120,8 +120,8 @@ services: redis: condition: service_healthy profiles: [activitypub] - # healthcheck: - # disable: true + healthcheck: + disable: true networks: - ghost_network @@ -208,8 +208,8 @@ services: condition: service_healthy profiles: [activitypub] restart: no - # healthcheck: - # disable: true + healthcheck: + disable: true volumes: ghost-content: From e581b1731b15358d28725e388f93c8e45547003d Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 19 Oct 2025 14:40:39 -0700 Subject: [PATCH 39/50] Update healthcheck command for MySQL service in compose.yml --- compose.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/compose.yml b/compose.yml index 996a6cf..85fe36a 100644 --- a/compose.yml +++ b/compose.yml @@ -67,7 +67,9 @@ services: - mysql-data:/var/lib/mysql - ./mysql-init:/docker-entrypoint-initdb.d healthcheck: - test: mysqladmin ping -p$$MYSQL_ROOT_PASSWORD -h 127.0.0.1 + # test: mysqladmin ping -p$$MYSQL_ROOT_PASSWORD -h 127.0.0.1 + # test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] + test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "--silent"] interval: 1s start_period: 30s start_interval: 10s From 3516d68dc9609ac55fb62801497a55bd64869ce6 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 19 Oct 2025 15:07:32 -0700 Subject: [PATCH 40/50] Disable healthcheck for MySQL service and clean up commented configurations in compose.yml --- compose.yml | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/compose.yml b/compose.yml index 85fe36a..b45bca0 100644 --- a/compose.yml +++ b/compose.yml @@ -1,15 +1,9 @@ --- -# yaml-language-server: $schema=https://raw.githubusercontent.com/compose-spec/compose-spec/main/schema/compose-spec.json services: ghost: # Do not alter this without updating the Tinybird Sync container as well image: ghost:${GHOST_VERSION:-6-alpine} restart: always - # expose: - # - "127.0.0.1:${GHOST_PORT:-2368}:2368" - # This is required to import current config when migrating - # env_file: - # - .env environment: NODE_ENV: production url: $SERVICE_URL_GHOST @@ -55,8 +49,6 @@ services: db: image: mysql:8.0.42@sha256:4445b2668d41143cb50e471ee207f8822006249b6859b24f7e12479684def5d9 restart: always - # expose: - # - "3306" environment: MYSQL_ROOT_PASSWORD: ${DATABASE_ROOT_PASSWORD:?DATABASE_ROOT_PASSWORD environment variable is required} MYSQL_USER: ${DATABASE_USER:-ghost} @@ -67,13 +59,15 @@ services: - mysql-data:/var/lib/mysql - ./mysql-init:/docker-entrypoint-initdb.d healthcheck: - # test: mysqladmin ping -p$$MYSQL_ROOT_PASSWORD -h 127.0.0.1 - # test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] - test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "--silent"] - interval: 1s - start_period: 30s - start_interval: 10s - retries: 120 + disable: true + # healthcheck: + # # test: mysqladmin ping -p$$MYSQL_ROOT_PASSWORD -h 127.0.0.1 + # # test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] + # test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "--silent"] + # interval: 1s + # start_period: 30s + # start_interval: 10s + # retries: 120 networks: - ghost_network @@ -98,12 +92,9 @@ services: activitypub: image: ghcr.io/tryghost/activitypub:1.1.0@sha256:39c212fe23603b182d68e67d555c6b9b04b1e57459dfc0bef26d6e4980eb04d1 restart: always - # expose: - # - "8080" volumes: - ghost-content:/opt/activitypub/content environment: - # See https://github.com/TryGhost/ActivityPub/blob/main/docs/env-vars.md NODE_ENV: production MYSQL_HOST: db MYSQL_USER: ${DATABASE_USER:-ghost} @@ -130,8 +121,6 @@ services: redis: image: redis:alpine restart: always - # ports: - # - '6379:6379' command: redis-server --save 60 1 --loglevel warning volumes: - redis-data:/data From 056cf498e0ac9540e4274cada7f762ff34a91d88 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 19 Oct 2025 15:09:28 -0700 Subject: [PATCH 41/50] Update healthcheck configuration for MySQL service in compose.yml --- compose.yml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/compose.yml b/compose.yml index b45bca0..1d84dd8 100644 --- a/compose.yml +++ b/compose.yml @@ -59,15 +59,13 @@ services: - mysql-data:/var/lib/mysql - ./mysql-init:/docker-entrypoint-initdb.d healthcheck: - disable: true - # healthcheck: - # # test: mysqladmin ping -p$$MYSQL_ROOT_PASSWORD -h 127.0.0.1 - # # test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] - # test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "--silent"] - # interval: 1s - # start_period: 30s - # start_interval: 10s - # retries: 120 + test: mysqladmin ping -p$$MYSQL_ROOT_PASSWORD -h 127.0.0.1 + # test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] + # test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "--silent"] + interval: 1s + start_period: 30s + start_interval: 10s + retries: 120 networks: - ghost_network From b28fed62fa1a6bdc4fa9333af910d58c13dcab0a Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 19 Oct 2025 18:14:47 -0700 Subject: [PATCH 42/50] Enable healthcheck for activitypub service and update configuration in compose.yml --- compose.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/compose.yml b/compose.yml index 1d84dd8..e8c4d7e 100644 --- a/compose.yml +++ b/compose.yml @@ -31,13 +31,13 @@ services: activitypub: condition: service_started required: false - healthcheck: - disable: true # healthcheck: - # test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:2368/ghost/api/admin/site/"] - # interval: 10s - # retries: 3 - # timeout: 5s + # disable: true + healthcheck: + test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:2368/ghost/api/admin/site/"] + interval: 10s + retries: 3 + timeout: 5s # healthcheck: # test: "curl -H 'X-Forwarded-Proto: https' -If http://localhost:2368/ghost/api/admin/site || exit 1" # interval: 30s From d6841ce5706f02bb1dc3d83dbe3dbf55287b26d1 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Sun, 19 Oct 2025 18:19:15 -0700 Subject: [PATCH 43/50] Update healthcheck configurations for activitypub and MySQL services in compose.yml --- compose.yml | 50 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 20 deletions(-) diff --git a/compose.yml b/compose.yml index e8c4d7e..c0b261c 100644 --- a/compose.yml +++ b/compose.yml @@ -31,18 +31,14 @@ services: activitypub: condition: service_started required: false - # healthcheck: - # disable: true healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:2368/ghost/api/admin/site/"] - interval: 10s - retries: 3 - timeout: 5s - # healthcheck: - # test: "curl -H 'X-Forwarded-Proto: https' -If http://localhost:2368/ghost/api/admin/site || exit 1" - # interval: 30s - # retries: 5 - # timeout: 10s + test: + - CMD + - echo + - ok + interval: 5s + timeout: 20s + retries: 10 networks: - ghost_network @@ -59,13 +55,15 @@ services: - mysql-data:/var/lib/mysql - ./mysql-init:/docker-entrypoint-initdb.d healthcheck: - test: mysqladmin ping -p$$MYSQL_ROOT_PASSWORD -h 127.0.0.1 - # test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] - # test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "--silent"] - interval: 1s - start_period: 30s - start_interval: 10s - retries: 120 + test: + - CMD + - mysqladmin + - ping + - '-h' + - 127.0.0.1 + interval: 5s + timeout: 20s + retries: 10 networks: - ghost_network @@ -112,7 +110,13 @@ services: condition: service_healthy profiles: [activitypub] healthcheck: - disable: true + test: + - CMD + - echo + - ok + interval: 5s + timeout: 20s + retries: 10 networks: - ghost_network @@ -198,7 +202,13 @@ services: profiles: [activitypub] restart: no healthcheck: - disable: true + test: + - CMD + - echo + - ok + interval: 5s + timeout: 20s + retries: 10 volumes: ghost-content: From 920515566bb749417d9cb7029aff44d010e853ec Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Mon, 20 Oct 2025 13:37:37 -0700 Subject: [PATCH 44/50] Remove unused network configurations from services in compose.yml --- compose.yml | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/compose.yml b/compose.yml index c0b261c..e4dfa74 100644 --- a/compose.yml +++ b/compose.yml @@ -39,8 +39,6 @@ services: interval: 5s timeout: 20s retries: 10 - networks: - - ghost_network db: image: mysql:8.0.42@sha256:4445b2668d41143cb50e471ee207f8822006249b6859b24f7e12479684def5d9 @@ -64,8 +62,6 @@ services: interval: 5s timeout: 20s retries: 10 - networks: - - ghost_network # traffic-analytics: # image: ghost/traffic-analytics:1.0.16@sha256:9bfdad7f32661f7fc2c0eb32bbf096d43e358ec416dffc7ca6df58185cb0cde3 @@ -82,8 +78,6 @@ services: # TINYBIRD_TRACKER_TOKEN: ${TINYBIRD_TRACKER_TOKEN:-} # LOG_LEVEL: debug # profiles: [analytics] - # networks: - # - ghost_network activitypub: image: ghcr.io/tryghost/activitypub:1.1.0@sha256:39c212fe23603b182d68e67d555c6b9b04b1e57459dfc0bef26d6e4980eb04d1 @@ -117,8 +111,6 @@ services: interval: 5s timeout: 20s retries: 10 - networks: - - ghost_network redis: image: redis:alpine @@ -142,8 +134,6 @@ services: # - tinybird_home:/home/tinybird # - tinybird_files:/data/tinybird # profiles: [analytics] - # networks: - # - ghost_network # tty: false # restart: no @@ -165,8 +155,6 @@ services: # depends_on: # tinybird-login: # condition: service_completed_successfully - # networks: - # - ghost_network # profiles: [analytics] # restart: no @@ -186,16 +174,12 @@ services: # tinybird-sync: # condition: service_completed_successfully # profiles: [analytics] - # networks: - # - ghost_network # tty: true activitypub-migrate: image: ghcr.io/tryghost/activitypub-migrations:1.1.0@sha256:b3ab20f55d66eb79090130ff91b57fe93f8a4254b446c2c7fa4507535f503662 environment: MYSQL_DB: mysql://${DATABASE_USER:-ghost}:${DATABASE_PASSWORD:?DATABASE_PASSWORD environment variable is required}@tcp(db:3306)/activitypub - networks: - - ghost_network depends_on: db: condition: service_healthy @@ -217,7 +201,4 @@ volumes: redis-config: # tinybird_files: # tinybird_home: - # traffic_analytics_data: - -networks: - ghost_network: \ No newline at end of file + # traffic_analytics_data: \ No newline at end of file From 072c2dad5dd492397cb9dfcdc3260735db15e428 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Wed, 22 Oct 2025 16:39:43 -0700 Subject: [PATCH 45/50] Update healthcheck configuration for ghost service in compose.yml --- compose.yml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/compose.yml b/compose.yml index e4dfa74..6a3d9cf 100644 --- a/compose.yml +++ b/compose.yml @@ -34,11 +34,17 @@ services: healthcheck: test: - CMD - - echo - - ok - interval: 5s - timeout: 20s - retries: 10 + - wget + - '-q' + - '-O' + - '-' + - '--header=User-Agent:healthcheck' + - 'http://127.0.0.1:${GHOST_PORT:-2368}/ghost/api/admin/site/' + - '-S' + interval: 10s + timeout: 5s + retries: 5 + start_period: 15s db: image: mysql:8.0.42@sha256:4445b2668d41143cb50e471ee207f8822006249b6859b24f7e12479684def5d9 From 8941beda9b840fc21a817b98025edda616efbd21 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Wed, 22 Oct 2025 16:46:00 -0700 Subject: [PATCH 46/50] Refactor healthcheck command for ghost service in compose.yml --- compose.yml | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/compose.yml b/compose.yml index 6a3d9cf..826c9ed 100644 --- a/compose.yml +++ b/compose.yml @@ -32,15 +32,7 @@ services: condition: service_started required: false healthcheck: - test: - - CMD - - wget - - '-q' - - '-O' - - '-' - - '--header=User-Agent:healthcheck' - - 'http://127.0.0.1:${GHOST_PORT:-2368}/ghost/api/admin/site/' - - '-S' + test: ["CMD", "wget", "-q", "-O", "-", "--header=User-Agent:healthcheck", "http://127.0.0.1:2368/ghost/api/admin/site/", "-S"] interval: 10s timeout: 5s retries: 5 From 9a7d814f5158ed46b0245825c71e323f7e3dd790 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Wed, 22 Oct 2025 16:55:39 -0700 Subject: [PATCH 47/50] Update healthcheck configuration for ghost service in compose.yml --- compose.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/compose.yml b/compose.yml index 826c9ed..f736c86 100644 --- a/compose.yml +++ b/compose.yml @@ -33,10 +33,9 @@ services: required: false healthcheck: test: ["CMD", "wget", "-q", "-O", "-", "--header=User-Agent:healthcheck", "http://127.0.0.1:2368/ghost/api/admin/site/", "-S"] - interval: 10s - timeout: 5s - retries: 5 - start_period: 15s + interval: 5s + timeout: 20s + retries: 10 db: image: mysql:8.0.42@sha256:4445b2668d41143cb50e471ee207f8822006249b6859b24f7e12479684def5d9 From 53b84a457568ae6480d4b86ab2543864cb920622 Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Wed, 22 Oct 2025 17:00:24 -0700 Subject: [PATCH 48/50] Update healthcheck command for ghost service in compose.yml --- compose.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/compose.yml b/compose.yml index f736c86..e4dfa74 100644 --- a/compose.yml +++ b/compose.yml @@ -32,7 +32,10 @@ services: condition: service_started required: false healthcheck: - test: ["CMD", "wget", "-q", "-O", "-", "--header=User-Agent:healthcheck", "http://127.0.0.1:2368/ghost/api/admin/site/", "-S"] + test: + - CMD + - echo + - ok interval: 5s timeout: 20s retries: 10 From 9761303855ae63f76b2b2da3c27e88056c0dbb4f Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Wed, 5 Nov 2025 11:18:23 -0700 Subject: [PATCH 49/50] Update activitypub and activitypub-migrate images to latest version --- compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compose.yml b/compose.yml index e4dfa74..384dc3e 100644 --- a/compose.yml +++ b/compose.yml @@ -80,7 +80,7 @@ services: # profiles: [analytics] activitypub: - image: ghcr.io/tryghost/activitypub:1.1.0@sha256:39c212fe23603b182d68e67d555c6b9b04b1e57459dfc0bef26d6e4980eb04d1 + image: ghcr.io/tryghost/activitypub:latest restart: always volumes: - ghost-content:/opt/activitypub/content @@ -177,7 +177,7 @@ services: # tty: true activitypub-migrate: - image: ghcr.io/tryghost/activitypub-migrations:1.1.0@sha256:b3ab20f55d66eb79090130ff91b57fe93f8a4254b446c2c7fa4507535f503662 + image: ghcr.io/tryghost/activitypub-migrations:latest environment: MYSQL_DB: mysql://${DATABASE_USER:-ghost}:${DATABASE_PASSWORD:?DATABASE_PASSWORD environment variable is required}@tcp(db:3306)/activitypub depends_on: From f933e274e6a8e0f89ec7d16e9689450c9beccc2e Mon Sep 17 00:00:00 2001 From: Sunny Thaper Date: Wed, 5 Nov 2025 11:22:31 -0700 Subject: [PATCH 50/50] Update activitypub and activitypub-migrate images to specific version tags --- compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compose.yml b/compose.yml index 384dc3e..e4dfa74 100644 --- a/compose.yml +++ b/compose.yml @@ -80,7 +80,7 @@ services: # profiles: [analytics] activitypub: - image: ghcr.io/tryghost/activitypub:latest + image: ghcr.io/tryghost/activitypub:1.1.0@sha256:39c212fe23603b182d68e67d555c6b9b04b1e57459dfc0bef26d6e4980eb04d1 restart: always volumes: - ghost-content:/opt/activitypub/content @@ -177,7 +177,7 @@ services: # tty: true activitypub-migrate: - image: ghcr.io/tryghost/activitypub-migrations:latest + image: ghcr.io/tryghost/activitypub-migrations:1.1.0@sha256:b3ab20f55d66eb79090130ff91b57fe93f8a4254b446c2c7fa4507535f503662 environment: MYSQL_DB: mysql://${DATABASE_USER:-ghost}:${DATABASE_PASSWORD:?DATABASE_PASSWORD environment variable is required}@tcp(db:3306)/activitypub depends_on: