Skip to content

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:

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 Wingfit
    RUN apk add --no-cache git \
    && git clone https://github.com/wingfit/wingfit.git . \
    && npm install \
    && npm run build
    ENV NODE_ENV=production
    ENV 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:

    VariableValue
    NODE_ENVproduction
    DATABASE_URLYour 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.