Deploying Tipi
Introduction
Tipi is a personal homeserver management platform that simplifies self-hosting by providing a beautiful web interface for deploying and managing applications. With Tipi, you can spin up popular open-source applications with just a few clicks, without needing deep knowledge of Docker, networking, or system administration.
Think of Tipi as your personal app store for self-hosted software. It curates a collection of pre-configured applications ranging from media servers to productivity tools, each packaged for easy deployment with sensible defaults.
Key highlights of Tipi:
- One-Click App Installation: Deploy popular self-hosted apps without manual configuration
- Curated App Store: Growing collection of pre-configured applications
- Automatic Updates: Keep apps updated with built-in update management
- Reverse Proxy Integration: Built-in Traefik for automatic SSL and routing
- Resource Monitoring: Track CPU, memory, and storage usage
- User Management: Multi-user support with role-based permissions
- Backup System: Built-in backup and restore functionality
- Custom Apps: Add your own applications to the platform
- Modern Interface: Clean, responsive dashboard for management
- 100% Open Source: Licensed under GPL-3.0
This guide walks through deploying Tipi on Klutch.sh using Docker, exploring the app store, and managing your self-hosted applications.
Why Deploy Tipi on Klutch.sh
Deploying Tipi on Klutch.sh provides several advantages:
Managed Infrastructure: Run your homeserver platform without managing physical hardware or dealing with ISP limitations.
Reliable Connectivity: Klutch.sh provides stable networking without port forwarding or dynamic DNS concerns.
HTTPS by Default: Automatic SSL certificates for secure access to your Tipi dashboard and managed apps.
Scalable Resources: Start small and scale up as you add more applications to your homeserver.
GitHub Integration: Manage your Tipi configuration through version control with automatic redeployments.
Persistent Storage: Your app data and configurations persist across restarts and updates.
Prerequisites
Before deploying Tipi on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your configuration
- Basic familiarity with Docker and containerization concepts
- (Optional) A custom domain for your Tipi instance
Understanding Tipi Architecture
Tipi uses a layered architecture for managing applications:
Dashboard: A React-based web interface for browsing and managing applications.
Backend API: Node.js/TypeScript API handling app installations, updates, and system operations.
Traefik Reverse Proxy: Automatic routing and SSL termination for installed applications.
Docker Engine: Apps are deployed as Docker containers managed by Tipi.
App Repository: A curated collection of Docker Compose configurations for each available app.
SQLite Database: Stores app configurations, user settings, and system state.
Preparing Your Repository
Create a GitHub repository with your Tipi configuration.
Repository Structure
tipi-deploy/├── Dockerfile├── README.md└── .dockerignoreCreating the Dockerfile
Create a Dockerfile in the root of your repository:
FROM ghcr.io/runtipi/runtipi:latest
# Set environment variablesENV TIPI_HOST=0.0.0.0ENV TIPI_PORT=80ENV NODE_ENV=production
# Create data directoriesRUN mkdir -p /runtipi/data /runtipi/app-data /runtipi/traefik
# Set working directoryWORKDIR /runtipi
# Expose portsEXPOSE 80EXPOSE 443
# Health checkHEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \ CMD wget --no-verbose --tries=1 --spider http://localhost:80/api/health || exit 1Creating the .dockerignore File
Create a .dockerignore file:
.git.github*.mdLICENSE.gitignore*.log.DS_Store.envDeploying Tipi on Klutch.sh
Follow these steps to deploy your Tipi instance:
- Select HTTP as the traffic type
- Set the internal port to 80
- Build your Docker image
- Attach persistent volumes
- Start the Tipi dashboard
- Provision an HTTPS certificate
- Create your admin account
- Configure basic settings
- Explore the app store
Push Your Repository to GitHub
Initialize and push your repository:
git initgit add Dockerfile .dockerignore README.mdgit commit -m "Initial Tipi configuration"git remote add origin https://github.com/yourusername/tipi-deploy.gitgit push -u origin mainCreate a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project. Name it something like “homeserver” or “tipi”.
Create a New App
Within your project, create a new app. Connect your GitHub account and select your Tipi repository.
Configure HTTP Traffic
Tipi serves its dashboard over HTTP. In the deployment settings:
Set Environment Variables
Configure environment variables:
| Variable | Value |
|---|---|
TIPI_DOMAIN | your-app-name.klutch.sh |
TIPI_INTERNAL_IP | 0.0.0.0 |
NODE_ENV | production |
Attach Persistent Volumes
Add persistent storage for Tipi and its managed apps:
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/runtipi/data | 10 GB | Tipi configuration and database |
/runtipi/app-data | 100 GB | Data for all installed applications |
/runtipi/traefik | 1 GB | Traefik proxy configuration |
Deploy Your Application
Click Deploy to start the build process. Klutch.sh will:
Complete Initial Setup
Navigate to https://your-app-name.klutch.sh to complete the setup wizard:
Initial Configuration
Creating Your Admin Account
On first access, you’ll create an administrator account:
- Enter your desired username
- Set a strong password
- Complete the setup wizard
Dashboard Overview
The Tipi dashboard provides:
- Home: System overview and quick actions
- Apps: Browse and manage installed applications
- App Store: Discover new applications to install
- Settings: System configuration and user management
Exploring the App Store
Available Categories
Tipi’s app store includes applications across categories:
| Category | Example Apps |
|---|---|
| Media | Jellyfin, Plex, Navidrome |
| Productivity | Nextcloud, Vikunja, Bookstack |
| Development | Gitea, Code-Server, Portainer |
| Home Automation | Home Assistant, Node-RED |
| Security | Vaultwarden, Authelia |
| Communication | Matrix, Discourse |
| Monitoring | Uptime Kuma, Grafana |
Installing Applications
To install an application:
- Navigate to the App Store
- Find the application you want
- Click Install
- Configure any required settings
- Wait for the installation to complete
Managing Installed Apps
Starting and Stopping
Control app states through the dashboard:
- Navigate to Apps
- Select the application
- Use the Start/Stop/Restart buttons
Updating Applications
Keep apps current:
- Check for updates on the Apps page
- Click Update when available
- Tipi pulls the latest image and restarts the app
Viewing Logs
Access application logs:
- Select the application
- Click the Logs tab
- View real-time or historical logs
Backup and Restore
Creating Backups
Back up your Tipi data:
- Navigate to Settings > Backups
- Click Create Backup
- Wait for the backup to complete
- Download the backup file
Restoring from Backup
Restore previous state:
- Upload your backup file
- Select what to restore
- Confirm and restore
User Management
Adding Users
Create additional users:
- Go to Settings > Users
- Click Add User
- Set username, password, and role
User Roles
| Role | Capabilities |
|---|---|
| Admin | Full system access |
| User | App access, limited settings |
| Guest | View-only access |
Performance Tuning
Resource Recommendations
| Apps Installed | RAM | CPU | Storage |
|---|---|---|---|
| 1-5 | 2 GB | 1 vCPU | 50 GB |
| 5-10 | 4 GB | 2 vCPU | 100 GB |
| 10+ | 8 GB | 4 vCPU | 200 GB+ |
Troubleshooting Common Issues
Dashboard Not Loading
Symptoms: Blank page or connection errors.
Solutions:
- Verify the container is running
- Check port 80 configuration
- Review startup logs for errors
App Installation Fails
Symptoms: Apps fail to install or start.
Solutions:
- Check available disk space
- Review app-specific logs
- Ensure required ports are available
Additional Resources
- Official Tipi Website
- Tipi Documentation
- Tipi GitHub Repository
- Tipi App Store Repository
- Klutch.sh Persistent Volumes
- Klutch.sh Deployments
Conclusion
Tipi on Klutch.sh provides an accessible entry point to self-hosting, combining a beautiful management interface with Klutch.sh’s reliable infrastructure. The curated app store removes the complexity of researching and configuring individual applications, letting you focus on using the software rather than deploying it.
Whether you’re new to self-hosting or looking for a more organized approach to managing your applications, Tipi provides the tools to build your personal cloud with minimal friction.