docker.recipes

Filestash

beginner

Modern web client for cloud storage.

Overview

Filestash is a modern, web-based file manager that serves as a universal interface for cloud storage services and file systems. Originally developed as an open-source alternative to traditional file management solutions, Filestash bridges the gap between multiple storage backends through a single, intuitive web interface. The application supports an extensive range of storage protocols including S3-compatible storage, FTP/SFTP servers, WebDAV, and popular cloud services like Dropbox and Google Drive. This Docker deployment runs Filestash as a standalone web application, providing organizations with a self-hosted file management portal that can connect to multiple storage backends simultaneously. The containerized setup isolates the application while maintaining persistent configuration data, making it ideal for teams that need centralized access to distributed file storage systems without vendor lock-in. This configuration is particularly valuable for organizations seeking to consolidate file access across hybrid cloud environments, provide secure external file sharing, or replace expensive commercial file management platforms with a customizable open-source solution.

Key Features

  • Multi-protocol storage backend support including S3, FTP, SFTP, WebDAV, Git repositories, and major cloud providers
  • Built-in file preview capabilities for documents, images, videos, and code files without downloading
  • Integrated text and code editor with syntax highlighting for direct file modification
  • Plugin ecosystem supporting office document viewing, video streaming, and PDF rendering
  • White-label customization options for branding, themes, and user interface modifications
  • Administrative dashboard for backend configuration, user management, and system monitoring
  • File sharing and collaboration features with customizable access permissions
  • Mobile-responsive interface optimized for cross-device file management

Common Use Cases

  • 1Centralized file management portal for organizations using multiple cloud storage providers
  • 2Secure file sharing platform for teams working with sensitive documents across different storage systems
  • 3Self-hosted alternative to commercial file management services for privacy-conscious organizations
  • 4Development team collaboration hub connecting to Git repositories and project file storage
  • 5Remote access gateway for on-premises file servers through SFTP or WebDAV protocols
  • 6Client file portal for service providers needing branded file sharing with external users
  • 7Hybrid cloud file management for organizations migrating between storage providers

Prerequisites

  • Docker and Docker Compose installed on the host system
  • Minimum 512MB RAM available for the Filestash container
  • Port 8334 available and not conflicting with other services
  • Access credentials for target storage backends (S3 keys, FTP credentials, API tokens)
  • Basic understanding of storage protocols and authentication methods for backend configuration
  • SSL certificate and reverse proxy setup recommended for production deployments with external access

For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms

docker-compose.yml

docker-compose.yml
1services:
2 filestash:
3 image: machines/filestash:latest
4 container_name: filestash
5 restart: unless-stopped
6 volumes:
7 - filestash_data:/app/data/state
8 ports:
9 - "8334:8334"
10
11volumes:
12 filestash_data:

.env Template

.env
1# Configure backends in admin panel

Usage Notes

  1. 1Docs: https://www.filestash.app/docs/
  2. 2Access at http://localhost:8334 - admin config at /admin
  3. 3Backends: S3, FTP, SFTP, WebDAV, Dropbox, Google Drive, Git
  4. 4File preview, editor, image viewer built-in
  5. 5Plugins: office viewer, video player, PDF viewer
  6. 6White-label ready - custom branding support

Quick Start

terminal
1# 1. Create the compose file
2cat > docker-compose.yml << 'EOF'
3services:
4 filestash:
5 image: machines/filestash:latest
6 container_name: filestash
7 restart: unless-stopped
8 volumes:
9 - filestash_data:/app/data/state
10 ports:
11 - "8334:8334"
12
13volumes:
14 filestash_data:
15EOF
16
17# 2. Create the .env file
18cat > .env << 'EOF'
19# Configure backends in admin panel
20EOF
21
22# 3. Start the services
23docker compose up -d
24
25# 4. View logs
26docker compose logs -f

One-Liner

Run this command to download and set up the recipe in one step:

terminal
1curl -fsSL https://docker.recipes/api/recipes/filestash/run | bash

Troubleshooting

  • Backend connection timeout errors: Verify firewall rules allow outbound connections to storage services and check credential validity
  • File upload failures on large files: Increase Docker container memory limits and check backend storage quotas
  • Admin interface not accessible at /admin: Clear browser cache and ensure container has fully started by checking logs
  • Authentication failures with cloud providers: Regenerate API tokens and verify OAuth application permissions are properly configured
  • Plugin loading errors for office documents: Restart container to reload plugin configurations and check plugin compatibility versions
  • Performance issues with large directories: Enable directory caching in admin settings and consider backend-specific optimizations

Community Notes

Loading...
Loading notes...

Download Recipe Kit

Get all files in a ready-to-deploy package

Includes docker-compose.yml, .env template, README, and license

Ad Space