Prerequisites
What you need before deploying the server.
Requirements
Before deploying a Drip server, you need:
1. Domain Name
A domain you control with DNS access. You'll need to create:
A Record - Point your tunnel domain to your server IP:
tunnel.example.com → YOUR_SERVER_IPWildcard A Record - Point all subdomains to the same IP:
*.tunnel.example.com → YOUR_SERVER_IP2. SSL Certificate
A wildcard SSL certificate is recommended. You can get one free from Let's Encrypt:
bash
sudo certbot certonly --manual --preferred-challenges dns \
-d "*.tunnel.example.com" -d "tunnel.example.com"This requires adding a DNS TXT record for verification.
Certificate locations after installation:
- Certificate:
/etc/letsencrypt/live/tunnel.example.com/fullchain.pem - Private key:
/etc/letsencrypt/live/tunnel.example.com/privkey.pem
3. Server Requirements
- OS: Linux (Ubuntu 20.04+ recommended)
- Memory: 512MB minimum, 1GB+ recommended
- CPU: 1 core minimum
Memory usage:
- Base: ~50MB
- Per 100 tunnels: ~1MB additional
4. Firewall Configuration
Open required ports:
bash
# HTTPS for HTTP/HTTPS tunnels
sudo ufw allow 443/tcp
# TCP tunnel port range
sudo ufw allow 20000:20100/tcpOr with iptables:
bash
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 20000:20100 -j ACCEPT5. Generate Authentication Token
Create a secure random token:
bash
openssl rand -hex 32Save this token - you'll need it for both server and client configuration.