What’s Included: Docker Compose automatically sets up MongoDB, Redis, and the Spoo.me application in isolated containers. You don’t need to install or configure databases separately.
Prerequisites
All you need:- Docker and Docker Compose installed on your system
- That’s it! MongoDB and Redis are automatically included
Installing Docker
- macOS
- Ubuntu/Debian
- Windows
- Other Linux
Download and install Docker Desktop from docker.com, or use Homebrew:Start Docker Desktop and verify:
Quick Start - Get Running in 4 Steps
Create .env File
.env.example works out of the box. MongoDB and Redis are automatically configured by Docker.Optional: Enable OAuth & Webhooks
Optional: Enable OAuth & Webhooks
If you want v1 API features (user authentication, URL management, API keys), you can optionally configure:
- OAuth Providers: Follow the authentication setup guide to enable Google, GitHub, or Discord login
- Discord Webhooks: Follow the webhook creation guide for contact form and report notifications
Start Docker Compose
- MongoDB database
- Redis cache
- Spoo.me application
First run takes 3-5 minutes to download images and build. Subsequent starts take only seconds!
Access Your Instance
What Just Happened?
Docker Compose automatically:- ✅ Created a MongoDB database container
- ✅ Created a Redis cache container
- ✅ Built the Spoo.me application container
- ✅ Connected everything together
- ✅ Persisted your data in Docker volumes
Production Deployment
Want to deploy to a production server with a domain? Just a few small changes:Use Cloud Database (Recommended)
For production, use a managed database instead of local containers:In your
.env file:Common Commands
Start Services
Stop Services
View Logs
Restart
More Useful Commands
Accessing Containers
Troubleshooting
Port Already in Use
Port Already in Use
Error:
Cannot start service app: Ports are not available: port is already allocatedSolution: Another service is using port 8000. Either stop that service or change the port:Containers Keep Restarting
Containers Keep Restarting
Cause: Usually a configuration error in Common issues:
.envSolution: Check logs for the specific container:- Invalid MongoDB URI format
- Missing required environment variables
- Docker resource limits too low
Can't Connect to MongoDB/Redis
Can't Connect to MongoDB/Redis
For local Docker setup: This shouldn’t happen! The containers are auto-configured.For production with cloud databases:
- Verify your
MONGODB_URIin.envis correct - Check firewall rules allow connections
- Ensure IP whitelist includes your server IP
Docker Daemon Not Running
Docker Daemon Not Running
Error:
Cannot connect to the Docker daemonSolution:Why Docker is the Best Option
✅ Zero Configuration: MongoDB and Redis work instantly, no setup needed ✅ Everything Bundled: One command installs the complete stack ✅ Consistent Environment: Works the same on any OS (macOS, Linux, Windows) ✅ Easy Updates:git pull && docker-compose up -d --build
✅ Data Persistence: Your URLs and data survive container restarts
✅ Clean Uninstall: Remove everything with docker-compose down -v

