A Docker container for Pegascape, enabling easy self-hosting of the Nintendo Switch deja-vu exploit.
- Reliability: Host your own instance when the public Pegascape service is unavailable
- Performance: Faster and more stable exploit execution from a local network
- Future-proofing: Maintain access even if public services go offline
- Easy deployment: Simple setup with Docker and Docker Compose
- Docker and Docker Compose installed
- Your computer and Nintendo Switch on the same network
- Knowledge of your computer's IP address on the local network
# Clone and setup in one command
git clone <your-repo-url>
cd pegascape-docker
make quick-installThis will:
- Create a default
.envfile - Build the container
- Start Pegascape
- Show you the next steps
-
Clone this repository:
git clone <your-repo-url> cd pegascape-docker
-
Set up environment:
cp .env.example .env
Edit
.envand setHOST_IPto your computer's IP address (e.g.,192.168.1.100) -
Start the service:
docker-compose up -d
-
Check status:
docker-compose ps docker-compose logs -f pegascape
This project includes a Makefile for easy management:
make help # Show available commands
make quick-install # π Fast, non-interactive setup
make install # Interactive setup with IP detection
make run # Start the service
make logs # View logs
make stop # Stop the service
make status # Show container statusdocker build -t pegascape:local .
docker run -p 80:80 -p 53:53/udp -p 8100:8100 \
-e HOST_IP=<YOUR_IP_ADDRESS> \
--name pegascape -d \
pegascape:local| Variable | Description | Default | Required |
|---|---|---|---|
HOST_IP |
IP address of your Docker host | 192.168.1.100 |
Yes |
NODE_ENV |
Node.js environment | production |
No |
The container exposes three essential ports:
- 80: Web interface (frontend)
- 53/udp: DNS server (blocks Nintendo services, redirects to container)
- 8100: Exploit server
- Go to System Settings β Internet on your Switch
- Select your current internet connection
- Click Change Settings
- Set DNS Settings to Manual
- Set both Primary DNS and Secondary DNS to your computer's IP address (the
HOST_IPvalue) - Save the configuration
- Ensure the container is running:
docker-compose ps - On your Switch, navigate to System Settings β Internet
- Test your internet connection (this will trigger the DNS redirect)
- Follow the on-screen instructions for the deja-vu exploit
- Container shows "Restarting" status: This is normal behavior. Pegascape runs in an interactive mode and Docker's restart policy keeps it running. The application starts correctly and initializes all services.
-
make installhangs: Usemake quick-installinstead for non-interactive setup. -
Switch can't connect:
- Verify the
HOST_IPin.envis your actual network IP (not 127.0.0.1 or docker IP) - Check both devices are on the same network
- For Windows/WSL: Use
ipconfigin Command Prompt to find your Windows IP
- Verify the
-
DNS not working: Ensure port 53/udp is not blocked by your firewall
-
Web interface not loading: Check if port 80 is available and not used by other services
- Quick Install (Recommended):
make quick-install- Non-interactive setup - Interactive Install:
make install- Interactive setup with IP detection - Manual Setup: Edit
.envfile with your IP, thenmake run
This project has been enhanced with modern DevOps practices while maintaining full compatibility with the original Pegascape implementation:
- β Multi-stage Docker build for optimized images
- β Node.js 14.21.3 maintained for Pegascape compatibility
- β Security hardening (non-root user, proper permissions)
- β Health checks for container monitoring
- β Docker Compose configuration for simple deployment
- β 15 management commands via Makefile
- β Automated installation scripts
- β
Environment configuration with
.envsupport - β Real-time monitoring functionality
- β Custom health check script
- β Container resource monitoring
- β Multi-architecture support (amd64, arm64)
- β Improved CI/CD with GitHub Actions
| File | Purpose |
|---|---|
docker-compose.yml |
Container orchestration configuration |
Dockerfile |
Multi-stage Docker build definition |
Makefile |
Management commands and automation |
.env.example |
Environment configuration template |
pegascape.sh |
Container startup script with validation |
healthcheck.sh |
Container health validation script |
install.sh |
Automated setup and installation |
monitor.sh |
Real-time monitoring script |
test.sh |
Project validation test suite |
make build
# or
docker build -t pegascape:local .make update
# or manually:
git pull
docker-compose down
docker-compose build --no-cache
docker-compose up -d- The container runs as a non-root user for security
- Only essential ports are exposed
- The image uses security best practices including read-only filesystem options
- Health checks ensure the service is running properly
- Fork the repository
- Create a feature branch
- Make your changes
- Test with
docker-compose up - Submit a pull request
This project follows the same license as the original Pegascape project.
- Check the Issues page for common problems
- Review Docker and Docker Compose logs for debugging
- Ensure your network configuration allows communication between devices