From eca0c5cb0d60bd5649182d11b056350c76217892 Mon Sep 17 00:00:00 2001 From: Ariq Pradipa Santoso Date: Mon, 20 Oct 2025 10:14:17 +0700 Subject: [PATCH 01/10] feat(templates): add sparkyfitness compose template and logo Add Docker Compose template for SparkyFitness, a comprehensive fitness tracking application, including the SVG logo and configuration for frontend, server, and database services. --- public/svgs/sparkyfitness.svg | 1 + templates/compose/sparkyfitness.yaml | 57 ++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 public/svgs/sparkyfitness.svg create mode 100644 templates/compose/sparkyfitness.yaml diff --git a/public/svgs/sparkyfitness.svg b/public/svgs/sparkyfitness.svg new file mode 100644 index 000000000..7f599cef1 --- /dev/null +++ b/public/svgs/sparkyfitness.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/templates/compose/sparkyfitness.yaml b/templates/compose/sparkyfitness.yaml new file mode 100644 index 000000000..ebba66f2f --- /dev/null +++ b/templates/compose/sparkyfitness.yaml @@ -0,0 +1,57 @@ +# documentation: https://codewithcj.github.io/SparkyFitness/ +# slogan: SparkyFitness is a comprehensive fitness tracking and management application designed to help users monitor their nutrition, exercise, and body measurements. It provides tools for daily progress tracking, goal setting, and insightful reports to support a healthy lifestyle. +# category: health +# tags: sparkyfitness, fitness, health, nutrition, exercise, body measurements +# logo: svgs/sparkyfitness.svg +# port: 80 + +services: + sparkyfitness-frontend: + image: 'codewithcj/sparkyfitness:latest' + restart: always + environment: + - SERVICE_URL_SPARKYFITNESS_80 + depends_on: + - sparkyfitness-server + + sparkyfitness-server: + image: 'codewithcj/sparkyfitness_server:latest' + restart: always + environment: + SPARKY_FITNESS_LOG_LEVEL: '${SPARKY_FITNESS_LOG_LEVEL:-info}' + SPARKY_FITNESS_DB_USER: '${SERVICE_USER_POSTGRES}' + SPARKY_FITNESS_DB_HOST: sparkyfitness-db + SPARKY_FITNESS_DB_NAME: '${SPARKY_FITNESS_DB_NAME:-sparkyfitness}' + SPARKY_FITNESS_DB_PASSWORD: '${SERVICE_PASSWORD_POSTGRES}' + SPARKY_FITNESS_DB_PORT: '${SPARKY_FITNESS_DB_PORT:-5432}' + SPARKY_FITNESS_API_ENCRYPTION_KEY: '${SERVICE_PASSWORD_64_SERVERAPIENCRYPTIONKEY}' + JWT_SECRET: '${SERVICE_PASSWORD_64_SERVERJWTSECRET}' + SPARKY_FITNESS_FRONTEND_URL: '${SERVICE_URL_SPARKYFITNESS_80}' + SPARKY_FITNESS_DISABLE_SIGNUP: '${SPARKY_FITNESS_DISABLE_SIGNUP:-false}' + SPARKY_FITNESS_ADMIN_EMAIL: '${SPARKY_FITNESS_ADMIN_EMAIL:-admin@example.com}' + SPARKY_FITNESS_EMAIL_HOST: '${SPARKY_FITNESS_EMAIL_HOST:-smtp.gmail.com}' + SPARKY_FITNESS_EMAIL_PORT: '${SPARKY_FITNESS_EMAIL_PORT:-587}' + SPARKY_FITNESS_EMAIL_SECURE: '${SPARKY_FITNESS_EMAIL_SECURE:-false}' + SPARKY_FITNESS_EMAIL_USER: '${SPARKY_FITNESS_EMAIL_USER}' + SPARKY_FITNESS_EMAIL_PASS: '${SPARKY_FITNESS_EMAIL_PASS}' + SPARKY_FITNESS_EMAIL_FROM: '${SPARKY_FITNESS_EMAIL_FROM:-"Sparky Fitness "}' + depends_on: + - sparkyfitness-db + volumes: + - 'sparkyfitness-server-backup:/app/SparkyFitnessServer/backup' + - 'sparkyfitness-server-uploads:/app/SparkyFitnessServer/uploads' + + sparkyfitness-db: + image: 'postgres:15-alpine' + restart: always + environment: + POSTGRES_DB: '${SPARKY_FITNESS_DB_NAME:-sparkyfitness}' + POSTGRES_USER: '${SERVICE_USER_POSTGRES}' + POSTGRES_PASSWORD: '${SERVICE_PASSWORD_POSTGRES}' + volumes: + - 'sparkyfitness-db-postgresql:/var/lib/postgresql/data' + +volumes: + sparkyfitness-server-backup: + sparkyfitness-server-uploads: + sparkyfitness-db-postgresql: From d01d574d71b208e8f6520366c481c5e96e0a16e7 Mon Sep 17 00:00:00 2001 From: Ariq Pradipa Santoso <70847073+ariqpradipa@users.noreply.github.com> Date: Wed, 22 Oct 2025 07:05:38 +0700 Subject: [PATCH 02/10] Update templates/compose/sparkyfitness.yaml Co-authored-by: ShadowArcanist <162910371+ShadowArcanist@users.noreply.github.com> --- templates/compose/sparkyfitness.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/templates/compose/sparkyfitness.yaml b/templates/compose/sparkyfitness.yaml index ebba66f2f..5bf4e0b67 100644 --- a/templates/compose/sparkyfitness.yaml +++ b/templates/compose/sparkyfitness.yaml @@ -48,6 +48,11 @@ services: POSTGRES_DB: '${SPARKY_FITNESS_DB_NAME:-sparkyfitness}' POSTGRES_USER: '${SERVICE_USER_POSTGRES}' POSTGRES_PASSWORD: '${SERVICE_PASSWORD_POSTGRES}' + healthcheck: + test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] + interval: 5s + timeout: 20s + retries: 10 volumes: - 'sparkyfitness-db-postgresql:/var/lib/postgresql/data' From 26eb0a2905d2bf832a528cc607392f54f1c1438c Mon Sep 17 00:00:00 2001 From: Ariq Pradipa Santoso <70847073+ariqpradipa@users.noreply.github.com> Date: Wed, 22 Oct 2025 07:05:44 +0700 Subject: [PATCH 03/10] Update templates/compose/sparkyfitness.yaml Co-authored-by: ShadowArcanist <162910371+ShadowArcanist@users.noreply.github.com> --- templates/compose/sparkyfitness.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/templates/compose/sparkyfitness.yaml b/templates/compose/sparkyfitness.yaml index 5bf4e0b67..03739817a 100644 --- a/templates/compose/sparkyfitness.yaml +++ b/templates/compose/sparkyfitness.yaml @@ -56,7 +56,3 @@ services: volumes: - 'sparkyfitness-db-postgresql:/var/lib/postgresql/data' -volumes: - sparkyfitness-server-backup: - sparkyfitness-server-uploads: - sparkyfitness-db-postgresql: From a8d3a397687ad780fccf237a7fe348159057858c Mon Sep 17 00:00:00 2001 From: Ariq Pradipa Santoso <70847073+ariqpradipa@users.noreply.github.com> Date: Wed, 22 Oct 2025 07:05:53 +0700 Subject: [PATCH 04/10] Update templates/compose/sparkyfitness.yaml Co-authored-by: ShadowArcanist <162910371+ShadowArcanist@users.noreply.github.com> --- templates/compose/sparkyfitness.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/templates/compose/sparkyfitness.yaml b/templates/compose/sparkyfitness.yaml index 03739817a..f7449ce98 100644 --- a/templates/compose/sparkyfitness.yaml +++ b/templates/compose/sparkyfitness.yaml @@ -16,7 +16,6 @@ services: sparkyfitness-server: image: 'codewithcj/sparkyfitness_server:latest' - restart: always environment: SPARKY_FITNESS_LOG_LEVEL: '${SPARKY_FITNESS_LOG_LEVEL:-info}' SPARKY_FITNESS_DB_USER: '${SERVICE_USER_POSTGRES}' From e16a533cce1508c0c1665d45225b98df9c22f733 Mon Sep 17 00:00:00 2001 From: Ariq Pradipa Santoso <70847073+ariqpradipa@users.noreply.github.com> Date: Wed, 22 Oct 2025 07:06:02 +0700 Subject: [PATCH 05/10] Update templates/compose/sparkyfitness.yaml Co-authored-by: ShadowArcanist <162910371+ShadowArcanist@users.noreply.github.com> --- templates/compose/sparkyfitness.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/templates/compose/sparkyfitness.yaml b/templates/compose/sparkyfitness.yaml index f7449ce98..4c1795294 100644 --- a/templates/compose/sparkyfitness.yaml +++ b/templates/compose/sparkyfitness.yaml @@ -8,7 +8,6 @@ services: sparkyfitness-frontend: image: 'codewithcj/sparkyfitness:latest' - restart: always environment: - SERVICE_URL_SPARKYFITNESS_80 depends_on: From d29a0543c7fb7d71d7a5e0163d359bd1760c0419 Mon Sep 17 00:00:00 2001 From: Ariq Pradipa Santoso <70847073+ariqpradipa@users.noreply.github.com> Date: Wed, 22 Oct 2025 07:06:10 +0700 Subject: [PATCH 06/10] Update templates/compose/sparkyfitness.yaml Co-authored-by: ShadowArcanist <162910371+ShadowArcanist@users.noreply.github.com> --- templates/compose/sparkyfitness.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/templates/compose/sparkyfitness.yaml b/templates/compose/sparkyfitness.yaml index 4c1795294..afae775e9 100644 --- a/templates/compose/sparkyfitness.yaml +++ b/templates/compose/sparkyfitness.yaml @@ -41,7 +41,6 @@ services: sparkyfitness-db: image: 'postgres:15-alpine' - restart: always environment: POSTGRES_DB: '${SPARKY_FITNESS_DB_NAME:-sparkyfitness}' POSTGRES_USER: '${SERVICE_USER_POSTGRES}' From 19a45212096cc033c1fe67e7062fe031f46766f5 Mon Sep 17 00:00:00 2001 From: Ariq Pradipa Santoso <70847073+ariqpradipa@users.noreply.github.com> Date: Wed, 22 Oct 2025 07:06:32 +0700 Subject: [PATCH 07/10] Update templates/compose/sparkyfitness.yaml Co-authored-by: ShadowArcanist <162910371+ShadowArcanist@users.noreply.github.com> --- templates/compose/sparkyfitness.yaml | 34 ++++++++++++++-------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/templates/compose/sparkyfitness.yaml b/templates/compose/sparkyfitness.yaml index afae775e9..e9f04071c 100644 --- a/templates/compose/sparkyfitness.yaml +++ b/templates/compose/sparkyfitness.yaml @@ -16,23 +16,23 @@ services: sparkyfitness-server: image: 'codewithcj/sparkyfitness_server:latest' environment: - SPARKY_FITNESS_LOG_LEVEL: '${SPARKY_FITNESS_LOG_LEVEL:-info}' - SPARKY_FITNESS_DB_USER: '${SERVICE_USER_POSTGRES}' - SPARKY_FITNESS_DB_HOST: sparkyfitness-db - SPARKY_FITNESS_DB_NAME: '${SPARKY_FITNESS_DB_NAME:-sparkyfitness}' - SPARKY_FITNESS_DB_PASSWORD: '${SERVICE_PASSWORD_POSTGRES}' - SPARKY_FITNESS_DB_PORT: '${SPARKY_FITNESS_DB_PORT:-5432}' - SPARKY_FITNESS_API_ENCRYPTION_KEY: '${SERVICE_PASSWORD_64_SERVERAPIENCRYPTIONKEY}' - JWT_SECRET: '${SERVICE_PASSWORD_64_SERVERJWTSECRET}' - SPARKY_FITNESS_FRONTEND_URL: '${SERVICE_URL_SPARKYFITNESS_80}' - SPARKY_FITNESS_DISABLE_SIGNUP: '${SPARKY_FITNESS_DISABLE_SIGNUP:-false}' - SPARKY_FITNESS_ADMIN_EMAIL: '${SPARKY_FITNESS_ADMIN_EMAIL:-admin@example.com}' - SPARKY_FITNESS_EMAIL_HOST: '${SPARKY_FITNESS_EMAIL_HOST:-smtp.gmail.com}' - SPARKY_FITNESS_EMAIL_PORT: '${SPARKY_FITNESS_EMAIL_PORT:-587}' - SPARKY_FITNESS_EMAIL_SECURE: '${SPARKY_FITNESS_EMAIL_SECURE:-false}' - SPARKY_FITNESS_EMAIL_USER: '${SPARKY_FITNESS_EMAIL_USER}' - SPARKY_FITNESS_EMAIL_PASS: '${SPARKY_FITNESS_EMAIL_PASS}' - SPARKY_FITNESS_EMAIL_FROM: '${SPARKY_FITNESS_EMAIL_FROM:-"Sparky Fitness "}' + - 'SPARKY_FITNESS_LOG_LEVEL=${SPARKY_FITNESS_LOG_LEVEL:-info}' + - 'SPARKY_FITNESS_DB_USER=${SERVICE_USER_POSTGRES}' + - SPARKY_FITNESS_DB_HOST=sparkyfitness-db + - 'SPARKY_FITNESS_DB_NAME=${SPARKY_FITNESS_DB_NAME:-sparkyfitness}' + - 'SPARKY_FITNESS_DB_PASSWORD=${SERVICE_PASSWORD_POSTGRES}' + - 'SPARKY_FITNESS_DB_PORT=${SPARKY_FITNESS_DB_PORT:-5432}' + - 'SPARKY_FITNESS_API_ENCRYPTION_KEY=${SERVICE_PASSWORD_64_SERVERAPIENCRYPTIONKEY}' + - 'JWT_SECRET=${SERVICE_PASSWORD_64_SERVERJWTSECRET}' + - 'SPARKY_FITNESS_FRONTEND_URL=${SERVICE_URL_SPARKYFITNESS_80}' + - 'SPARKY_FITNESS_DISABLE_SIGNUP=${SPARKY_FITNESS_DISABLE_SIGNUP:-false}' + - 'SPARKY_FITNESS_ADMIN_EMAIL=${SPARKY_FITNESS_ADMIN_EMAIL:-admin@example.com}' + - 'SPARKY_FITNESS_EMAIL_HOST=${SPARKY_FITNESS_EMAIL_HOST:-smtp.gmail.com}' + - 'SPARKY_FITNESS_EMAIL_PORT=${SPARKY_FITNESS_EMAIL_PORT:-587}' + - 'SPARKY_FITNESS_EMAIL_SECURE=${SPARKY_FITNESS_EMAIL_SECURE:-false}' + - 'SPARKY_FITNESS_EMAIL_USER=${SPARKY_FITNESS_EMAIL_USER}' + - 'SPARKY_FITNESS_EMAIL_PASS=${SPARKY_FITNESS_EMAIL_PASS}' + - 'SPARKY_FITNESS_EMAIL_FROM=${SPARKY_FITNESS_EMAIL_FROM:-"Sparky Fitness "}' depends_on: - sparkyfitness-db volumes: From d89d89be4cd1efaf520b1640d3da38999588536e Mon Sep 17 00:00:00 2001 From: Ariq Pradipa Santoso <70847073+ariqpradipa@users.noreply.github.com> Date: Wed, 22 Oct 2025 07:06:40 +0700 Subject: [PATCH 08/10] Update templates/compose/sparkyfitness.yaml Co-authored-by: ShadowArcanist <162910371+ShadowArcanist@users.noreply.github.com> --- templates/compose/sparkyfitness.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/templates/compose/sparkyfitness.yaml b/templates/compose/sparkyfitness.yaml index e9f04071c..b955fd5a4 100644 --- a/templates/compose/sparkyfitness.yaml +++ b/templates/compose/sparkyfitness.yaml @@ -42,9 +42,10 @@ services: sparkyfitness-db: image: 'postgres:15-alpine' environment: - POSTGRES_DB: '${SPARKY_FITNESS_DB_NAME:-sparkyfitness}' - POSTGRES_USER: '${SERVICE_USER_POSTGRES}' - POSTGRES_PASSWORD: '${SERVICE_PASSWORD_POSTGRES}' + - 'POSTGRES_DB=${SPARKY_FITNESS_DB_NAME:-sparkyfitness}' + - 'POSTGRES_USER=${SERVICE_USER_POSTGRES}' + - 'POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}' + - POSTGRES_PORT=${SPARKY_FITNESS_DB_PORT:-5432} healthcheck: test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] interval: 5s From 34baeab54211932b586814df46b7cc87a7c1c259 Mon Sep 17 00:00:00 2001 From: Ariq Pradipa Santoso <70847073+ariqpradipa@users.noreply.github.com> Date: Wed, 22 Oct 2025 07:08:27 +0700 Subject: [PATCH 09/10] pin sparky fitness image version Co-authored-by: ShadowArcanist <162910371+ShadowArcanist@users.noreply.github.com> --- templates/compose/sparkyfitness.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/compose/sparkyfitness.yaml b/templates/compose/sparkyfitness.yaml index b955fd5a4..0688ecb5b 100644 --- a/templates/compose/sparkyfitness.yaml +++ b/templates/compose/sparkyfitness.yaml @@ -7,7 +7,7 @@ services: sparkyfitness-frontend: - image: 'codewithcj/sparkyfitness:latest' + image: 'codewithcj/sparkyfitness:v0.15.7.3' # Released on Oct 18, 2025 environment: - SERVICE_URL_SPARKYFITNESS_80 depends_on: From 52333efb2c2a6d587526130529acbb2b54484368 Mon Sep 17 00:00:00 2001 From: Ariq Pradipa Santoso <70847073+ariqpradipa@users.noreply.github.com> Date: Wed, 22 Oct 2025 07:08:46 +0700 Subject: [PATCH 10/10] pin sparkyfitness server image version Co-authored-by: ShadowArcanist <162910371+ShadowArcanist@users.noreply.github.com> --- templates/compose/sparkyfitness.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/compose/sparkyfitness.yaml b/templates/compose/sparkyfitness.yaml index 0688ecb5b..a10a2f4d6 100644 --- a/templates/compose/sparkyfitness.yaml +++ b/templates/compose/sparkyfitness.yaml @@ -14,7 +14,7 @@ services: - sparkyfitness-server sparkyfitness-server: - image: 'codewithcj/sparkyfitness_server:latest' + image: 'codewithcj/sparkyfitness_server:v0.15.7.3' # Released on Oct 18, 2025 environment: - 'SPARKY_FITNESS_LOG_LEVEL=${SPARKY_FITNESS_LOG_LEVEL:-info}' - 'SPARKY_FITNESS_DB_USER=${SERVICE_USER_POSTGRES}'