Deploying TagSpaces
Introduction
TagSpaces is an offline-first, privacy-focused file manager and organizer that helps you tag and browse your files. Unlike cloud-based solutions, TagSpaces stores tags directly in filenames or sidecar files, ensuring your organization system is portable and not locked into any service.
Key highlights of TagSpaces:
- Privacy First: No cloud dependency, your data stays local
- Tag-Based Organization: Organize files with customizable tags
- File Preview: Preview documents, images, and media files
- Cross-Platform: Works on Windows, macOS, Linux, and web
- Portable Tags: Tags stored in filenames or sidecar files
- Color-Coded Tags: Visual organization with colored tags
- Search and Filter: Find files by tags, type, or content
- Markdown Support: Edit and preview Markdown files
- Location Management: Manage multiple file locations
- Open Source: Fully transparent and customizable
This guide walks through deploying TagSpaces on Klutch.sh using Docker.
Why Deploy TagSpaces on Klutch.sh
Deploying TagSpaces on Klutch.sh provides several advantages:
Simplified Deployment: Klutch.sh automatically detects your Dockerfile and builds TagSpaces without complex orchestration.
Persistent Storage: Attach persistent volumes for your files.
HTTPS by Default: Secure access to your files from anywhere.
GitHub Integration: Connect your configuration repository for automatic redeployments.
Prerequisites
Before deploying TagSpaces on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your TagSpaces configuration
- Basic familiarity with Docker and containerization concepts
Deploying TagSpaces on Klutch.sh
- Select HTTP as the traffic type
- Set the internal port to 80
Create Your Repository
Create a new GitHub repository with a Dockerfile for TagSpaces:
FROM tagspaces/tagspaces-web:latest
ENV PUID=1000ENV PGID=1000
EXPOSE 80
VOLUME ["/data"]Push to GitHub
Initialize and push your repository to GitHub with your Dockerfile.
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
In the deployment settings:
Set Environment Variables
Configure the following environment variables:
| Variable | Value |
|---|---|
PUID | 1000 |
PGID | 1000 |
Attach Persistent Volumes
Add the following volumes:
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/data | 100+ GB | Your files to organize |
Deploy Your Application
Click Deploy to start the build process.
Access TagSpaces
Once deployment completes, access TagSpaces at your app URL.
Configuration
Adding Locations
Add file locations to TagSpaces:
- Click Connect a Location
- Choose the folder path
- Configure location settings
- Start browsing your files
Tagging Files
Tag your files:
- Select a file
- Click the tag icon or right-click
- Add existing tags or create new ones
- Tags are saved to the filename or sidecar file
Tag Groups
Organize tags into groups:
- Navigate to Settings > Tag Library
- Create tag groups (e.g., Status, Priority, Project)
- Add tags to each group
- Assign colors for visual distinction
File Previews
TagSpaces can preview:
- Images (JPG, PNG, GIF, SVG)
- Documents (PDF, Office files)
- Text files (TXT, MD, HTML)
- Audio and video files
Additional Resources
- TagSpaces Official Website
- TagSpaces GitHub Repository
- TagSpaces Documentation
- Klutch.sh Persistent Volumes
- Klutch.sh Deployments
Conclusion
Deploying TagSpaces on Klutch.sh gives you a privacy-focused file organization system with automatic builds, persistent storage, and secure HTTPS access. Organize your files with tags while keeping full control of your data.