Skip to content

Conversation

ariqpradipa
Copy link
Contributor

Add Docker Compose template for SparkyFitness, a comprehensive fitness tracking application, including the SVG logo and configuration for frontend, server, and database services.

Changes

Add Docker Compose template for SparkyFitness, a comprehensive fitness tracking application, including the SVG logo and configuration for frontend, server, and database services.
@Cinzya Cinzya added the ⚙️ Service Issues requesting or PRs adding/fixing service templates. label Oct 20, 2025
Copy link
Contributor

Hi @ariqpradipa! 👋

It appears to us that you are either adding a new service or making changes to an existing one.
We kindly ask you to also review and update the Coolify Documentation to include this new service or it's new configuration needs.
This will help ensure that our documentation remains accurate and up-to-date for all users.

Coolify Docs Repository: https://github.com/coollabsio/coolify-docs
How to Contribute a new Service to the Docs: https://coolify.io/docs/get-started/contribute/service#adding-a-new-service-template-to-the-coolify-documentation

Copy link
Member

@ShadowArcanist ShadowArcanist left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The app works fine, though the Compose file needs small changes for better maintainability.

Comment on lines +51 to +52
volumes:
- 'sparkyfitness-db-postgresql:/var/lib/postgresql/data'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add healthcheck for database

Suggested change
volumes:
- 'sparkyfitness-db-postgresql:/var/lib/postgresql/data'
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'

Comment on lines +54 to +57
volumes:
sparkyfitness-server-backup:
sparkyfitness-server-uploads:
sparkyfitness-db-postgresql:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coolify adds this automatically

Suggested change
volumes:
sparkyfitness-server-backup:
sparkyfitness-server-uploads:
sparkyfitness-db-postgresql:

services:
sparkyfitness-frontend:
image: 'codewithcj/sparkyfitness:latest'
restart: always
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coolify adds this automatically

Suggested change
restart: always


sparkyfitness-server:
image: 'codewithcj/sparkyfitness_server:latest'
restart: always
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coolify adds this automatically

Suggested change
restart: always


sparkyfitness-db:
image: 'postgres:15-alpine'
restart: always
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coolify adds this automatically

Suggested change
restart: always

Comment on lines +21 to +37
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 <noreply@sparkyfitness.com>"}'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Properly Format the envs

Suggested change
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 <noreply@sparkyfitness.com>"}'
- '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 <noreply@sparkyfitness.com>"}'

Comment on lines +48 to +50
POSTGRES_DB: '${SPARKY_FITNESS_DB_NAME:-sparkyfitness}'
POSTGRES_USER: '${SERVICE_USER_POSTGRES}'
POSTGRES_PASSWORD: '${SERVICE_PASSWORD_POSTGRES}'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Properly Format the envs and add db port env

Suggested change
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}


services:
sparkyfitness-frontend:
image: 'codewithcj/sparkyfitness:latest'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please pin to a static version rather than 'latest' to prevent the template from breaking due to upstream changes.

Suggested change
image: 'codewithcj/sparkyfitness:latest'
image: 'codewithcj/sparkyfitness:v0.15.7.3' # Released on Oct 18, 2025

- sparkyfitness-server

sparkyfitness-server:
image: 'codewithcj/sparkyfitness_server:latest'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please pin to a static version rather than 'latest' to prevent the template from breaking due to upstream changes.

Suggested change
image: 'codewithcj/sparkyfitness_server:latest'
image: 'codewithcj/sparkyfitness_server:v0.15.7.3' # Released on Oct 18, 2025

@ShadowArcanist ShadowArcanist added the 💤 Waiting for changes PRs awaiting changes from the author. label Oct 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⚙️ Service Issues requesting or PRs adding/fixing service templates. 💤 Waiting for changes PRs awaiting changes from the author.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants