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.
This commit is contained in:
Ariq Pradipa Santoso 2025-10-20 10:14:17 +07:00
parent 58864b9b20
commit eca0c5cb0d
2 changed files with 58 additions and 0 deletions

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 312 KiB

View file

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