Deploying Wingfit
Introduction
Wingfit is a self-hosted fitness tracking application designed to help you monitor workouts, track progress, and achieve your fitness goals. It provides a private alternative to commercial fitness apps, keeping your health data under your control.
Key highlights of Wingfit:
- Workout Tracking: Log exercises, sets, reps, and weights
- Progress Monitoring: Visualize your fitness journey with charts and statistics
- Exercise Library: Pre-built exercise database with custom exercise support
- Routine Builder: Create and save workout routines
- Body Measurements: Track weight, body fat, and other metrics
- Goal Setting: Set and monitor fitness goals
- Privacy Focused: All data stays on your server
- Mobile Friendly: Responsive design for logging workouts on the go
This guide walks through deploying Wingfit on Klutch.sh using Docker.
Why Deploy Wingfit on Klutch.sh
Deploying Wingfit on Klutch.sh provides several advantages:
Data Privacy: Your fitness and health data remains completely private on your own server.
Always Accessible: Track workouts from anywhere with 24/7 availability.
HTTPS by Default: Secure access to your fitness data with automatic SSL.
Persistent Storage: Your workout history persists with Klutch.sh volumes.
Prerequisites
Before deploying Wingfit on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your configuration
Deploying Wingfit on Klutch.sh
Create Your Repository
Create a new GitHub repository with a Dockerfile:
FROM node:18-alpine
WORKDIR /app
# Clone and build WingfitRUN apk add --no-cache git \ && git clone https://github.com/wingfit/wingfit.git . \ && npm install \ && npm run build
ENV NODE_ENV=productionENV PORT=3000
EXPOSE 3000
CMD ["npm", "start"]Push to GitHub
Push your Dockerfile to your GitHub repository.
Create a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project.
Create a New App
Within your project, create a new app and connect your GitHub repository.
Configure HTTP Traffic
Set the traffic type to HTTP with port 3000.
Set Environment Variables
Configure the following environment variables:
| Variable | Value |
|---|---|
NODE_ENV | production |
DATABASE_URL | Your database connection string |
Attach Persistent Volume
Add a persistent volume for the database and user uploads.
Deploy Your Application
Click Deploy to build and launch Wingfit.
Create Your Account
Access your Wingfit instance and create your user account to start tracking workouts.
Additional Resources
Conclusion
Wingfit on Klutch.sh gives you a private fitness tracking platform where your health data stays under your control. With workout logging, progress visualization, and goal tracking, you can monitor your fitness journey without sharing personal data with third parties.