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
Architecture
FilePizza consists of a single container connected to the Traefik network:Deployment Configuration
Docker Compose File
Deployment Instructions
-
Create the deployment directory:
-
Create the
docker-compose.ymlfile 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 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: