Filepizza
Overview
FilePizza is a browser-based, peer-to-peer file sharing service deployed as part of the Mondo Open Platform Service (MOPS). It allows users to share files directly between browsers using WebRTC technology, without storing files on a central server.
Service Details
Component | Value |
---|---|
URL | https://pizza.trymondo.com |
Image | kern/filepizza:latest |
Container | filepizza |
Port | 3000 (internal) |
Network | traefik-net (external) |
Architecture
FilePizza consists of a single container connected to the Traefik network:
FilePizza acts as a WebRTC signaling server to establish direct peer connections, but the file data transfers directly between browsers.
Deployment Configuration
Docker Compose File
Deployment Instructions
-
Create the deployment directory:
-
Create the
docker-compose.yml
file with the content shown above: -
Deploy the service:
-
Verify the service is running:
Traefik Integration
FilePizza is configured with the following Traefik settings:
- Host Rule:
pizza.trymondo.com
- Entrypoint: websecure (HTTPS)
- TLS: Enabled with production certificate resolver
- Backend Port: 3000
Usage
- Access the service at
https://pizza.trymondo.com
- File senders can:
- Select a file to share
- Receive a unique URL to share with recipients
- File recipients:
- Open the shared URL
- Download the file directly from the sender’s browser
Important Notes
FilePizza requires WebRTC support in browsers. Some corporate firewalls or restrictive networks might block WebRTC connections.
FilePizza is a stateless application. No persistent volumes are needed as files are never stored on the server.
Resource Usage
FilePizza is a lightweight application with minimal resource requirements:
- Memory: Typically less than 100MB
- CPU: Minimal usage during idle periods, moderate during connection establishment
Maintenance
Updates
To update FilePizza to the latest version:
Troubleshooting
If the service is inaccessible:
-
Check container status:
-
View container logs:
-
Verify Traefik routing:
Security Considerations
- FilePizza doesn’t store files, reducing data exposure risks
- All communications go through HTTPS via Traefik
- WebRTC connections are encrypted by default
- Consider adding Traefik middleware for additional security: