Send (Firefox Send)
Simple private file sharing with encryption.
Overview
Send is a fork of Mozilla's discontinued Firefox Send service, providing secure temporary file sharing with client-side encryption. This implementation uses end-to-end encryption where files are encrypted in the browser before upload, ensuring that even the server never has access to unencrypted content. Users can set expiration limits based on time duration or download count, making it ideal for sharing sensitive documents that shouldn't persist indefinitely.
This Docker stack combines Send with Redis to provide a complete file sharing platform. Redis serves as the backend data store for managing file metadata, download counters, expiration tracking, and user sessions. The combination ensures fast lookup times for file information while maintaining the temporary nature of shared files through Redis's built-in expiration capabilities.
This configuration suits organizations needing secure internal file sharing, developers requiring temporary asset distribution, and privacy-conscious teams who want control over their file sharing infrastructure. Unlike cloud-based alternatives, this self-hosted approach keeps all file metadata and encrypted content within your infrastructure, providing complete data sovereignty while maintaining the convenience of web-based file sharing.
Key Features
- Client-side AES-128-GCM encryption before upload ensures server-side privacy
- Configurable file expiration by download count and time limits
- Redis-backed metadata storage for fast file lookup and session management
- Support for ffsend CLI client enabling command-line file sharing workflows
- Configurable maximum file size limits via MAX_FILE_SIZE environment variable
- One-time download URLs that automatically expire after access
- Browser-based interface requiring no client software installation
- Automatic cleanup of expired files and associated Redis metadata
Common Use Cases
- 1Secure document sharing between legal teams with automatic expiration
- 2Temporary distribution of software builds and deployment artifacts
- 3Privacy-focused file sharing for healthcare organizations handling sensitive data
- 4Internal corporate file sharing avoiding external cloud services
- 5Developer collaboration for sharing logs, configs, and debug information
- 6Educational institutions distributing assignment materials with access limits
- 7Homelab enthusiasts creating personal secure file sharing for family use
Prerequisites
- Docker host with minimum 640MB RAM (512MB for Redis, 128MB for Send)
- Port 1234 available for Send web interface access
- Understanding of Redis data persistence implications for file metadata
- Basic knowledge of environment variable configuration for file size limits
- Network access planning for users accessing the web interface
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 send: 3 image: registry.gitlab.com/timvisee/send:latest4 container_name: send5 restart: unless-stopped6 environment: 7 REDIS_HOST: redis8 FILE_DIR: /uploads9 volumes: 10 - send_uploads:/uploads11 ports: 12 - "1234:1234"13 depends_on: 14 - redis15 networks: 16 - send1718 redis: 19 image: redis:alpine20 container_name: send-redis21 restart: unless-stopped22 networks: 23 - send2425volumes: 26 send_uploads: 2728networks: 29 send: 30 driver: bridge.env Template
.env
1# Files auto-expire after downloadUsage Notes
- 1Docs: https://github.com/timvisee/send#readme
- 2Access at http://localhost:1234 - Firefox Send fork
- 3End-to-end encryption in browser before upload
- 4Set expiration: time limit and/or download count
- 5Max file size configurable via MAX_FILE_SIZE env var
- 6CLI client: ffsend (pip install ffsend)
Individual Services(2 services)
Copy individual services to mix and match with your existing compose files.
send
send:
image: registry.gitlab.com/timvisee/send:latest
container_name: send
restart: unless-stopped
environment:
REDIS_HOST: redis
FILE_DIR: /uploads
volumes:
- send_uploads:/uploads
ports:
- "1234:1234"
depends_on:
- redis
networks:
- send
redis
redis:
image: redis:alpine
container_name: send-redis
restart: unless-stopped
networks:
- send
Quick Start
terminal
1# 1. Create the compose file2cat > docker-compose.yml << 'EOF'3services:4 send:5 image: registry.gitlab.com/timvisee/send:latest6 container_name: send7 restart: unless-stopped8 environment:9 REDIS_HOST: redis10 FILE_DIR: /uploads11 volumes:12 - send_uploads:/uploads13 ports:14 - "1234:1234"15 depends_on:16 - redis17 networks:18 - send1920 redis:21 image: redis:alpine22 container_name: send-redis23 restart: unless-stopped24 networks:25 - send2627volumes:28 send_uploads:2930networks:31 send:32 driver: bridge33EOF3435# 2. Create the .env file36cat > .env << 'EOF'37# Files auto-expire after download38EOF3940# 3. Start the services41docker compose up -d4243# 4. View logs44docker compose logs -fOne-Liner
Run this command to download and set up the recipe in one step:
terminal
1curl -fsSL https://docker.recipes/api/recipes/send/run | bashTroubleshooting
- Upload fails with large files: Increase MAX_FILE_SIZE environment variable and check available disk space in send_uploads volume
- Redis connection errors in Send logs: Verify redis container is running and accessible via 'send' network, check Redis container logs
- Files not expiring automatically: Confirm Redis container has sufficient memory and isn't evicting keys, check Redis maxmemory-policy setting
- Browser encryption errors: Clear browser cache and cookies, ensure JavaScript is enabled for client-side encryption
- Download links not working: Check Redis key expiration settings and verify file still exists in uploads volume
- Send container fails to start: Verify /uploads directory permissions and ensure send_uploads volume is properly mounted
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
Shortcuts: C CopyF FavoriteD Download