Skip to content

Deploying Surfer

Introduction

Surfer is a simple, self-hosted file hosting and sharing solution from Cloudron. It provides an elegant web interface for uploading, organizing, and sharing files. Perfect for personal cloud storage or team file sharing.

Key highlights of Surfer:

  • Simple Interface: Clean, intuitive web UI for file management
  • Directory Browsing: Navigate your files with ease
  • File Sharing: Generate shareable links for files and folders
  • Upload Support: Drag-and-drop file uploads
  • WebDAV Support: Access files via WebDAV clients
  • Authentication: Password protection for your files
  • Lightweight: Minimal resource requirements
  • Docker Ready: Easy containerized deployment

This guide walks through deploying Surfer on Klutch.sh using Docker.

Why Deploy Surfer on Klutch.sh

Deploying Surfer on Klutch.sh provides several advantages:

Simplified Deployment: Klutch.sh automatically detects your Dockerfile and builds Surfer without complex orchestration.

Persistent Storage: Attach persistent volumes for your files.

HTTPS by Default: Secure file sharing with automatic SSL certificates.

GitHub Integration: Connect your configuration repository for automatic redeployments.

Prerequisites

Before deploying Surfer on Klutch.sh, ensure you have:

Deploying Surfer on Klutch.sh

    Create Your Repository

    Create a new GitHub repository with a Dockerfile for Surfer:

    FROM cloudron/surfer:latest
    ENV CLOUDRON_APP_ORIGIN=${APP_URL}
    ENV CLOUDRON_ADMIN_ORIGIN=${APP_URL}
    EXPOSE 3000
    VOLUME ["/app/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:

    • Select HTTP as the traffic type
    • Set the internal port to 3000

    Set Environment Variables

    Configure the following environment variables:

    VariableValue
    APP_URLhttps://your-app.klutch.sh

    Attach Persistent Volumes

    Add the following volumes:

    Mount PathRecommended SizePurpose
    /app/data50+ GBFile storage

    Deploy Your Application

    Click Deploy to start the build process.

    Access Surfer

    Once deployment completes, access Surfer at your app URL.

Configuration

Uploading Files

Upload files through the web interface:

  1. Navigate to your Surfer instance
  2. Authenticate if required
  3. Drag and drop files or click to upload
  4. Organize files into directories

Sharing Files

Generate shareable links:

  1. Select the file or folder to share
  2. Click the share icon
  3. Copy the generated URL
  4. Share with recipients

WebDAV Access

Connect via WebDAV using your Surfer URL with /dav appended:

https://your-surfer-instance.klutch.sh/dav

Additional Resources

Conclusion

Deploying Surfer on Klutch.sh gives you a simple, elegant file sharing solution with automatic builds, persistent storage, and secure HTTPS access. Share files easily with a clean web interface.