ICN Quick Deploy Reference Card
Last Updated: December 12, 2025
Status: Historical quick-reference snapshot
Historical quick-deploy snapshot from 2025-12-12. Confirm current operational status via live checks and
docs/ci/CI_CURRENT_STATUS.md.
๐ Deploy in 5 Minutes
Step 1: Clone Repository
git clone https://github.com/InterCooperative-Network/icn.git
cd icn/deploy
Step 2: Quick Start
./quickstart.sh "My Cooperative"
Step 3: Access Services
- Gateway API: http://localhost:8080
- Web UI: http://localhost:3000
- Grafana: http://localhost:3001 (admin/admin)
- Prometheus: http://localhost:9091
Step 4: Test Health
curl http://localhost:8080/v1/health
Expected Response:
{"status":"healthy","version":"0.1.0","uptime_secs":...}
๐ฑ Configure Mobile App
Edit sdk/react-native/examples/CoopWallet/src/client.ts:
const client = createMobileClient({
baseUrl: 'http://YOUR_SERVER_IP:8080', // Change from localhost
wallet,
storage,
});
๐ Production Setup
1. Generate JWT Secret
openssl rand -hex 32
# Copy output and set in .env
2. Configure Domain
# Point DNS to your server
api.your-coop.org โ YOUR_SERVER_IP
3. Install SSL Certificate
sudo apt-get install certbot python3-certbot-nginx
sudo certbot --nginx -d api.your-coop.org
4. Update Mobile App
baseUrl: 'https://api.your-coop.org' // Use HTTPS
๐งช Quick Test
Backend Health
curl http://localhost:8080/v1/health
WebSocket Connection
# Install websocat: cargo install websocat
websocat ws://localhost:8080/v1/ws
Mobile App
- Update API endpoint
- Build:
npx react-native run-ios - Register new user
- Send payment
- Check notifications
๐ Monitoring
Grafana Dashboard
- URL: http://localhost:3001
- Login: admin / admin (CHANGE THIS!)
- Dashboards: ICN Node Dashboard
Key Metrics
gateway_requests_total- API requestsgateway_websocket_connections- Active connectionsgateway_payments_created- Payment volumegateway_notifications_sent- Notification delivery
๐ง Common Commands
Docker Management
# View logs
docker logs -f icn-daemon
# Restart service
docker restart icn-daemon
# Stop all
cd deploy && docker compose down
# Remove all data (DESTRUCTIVE!)
docker compose down -v
Native Service (if installed)
# Status
sudo systemctl status icnd
# Logs
journalctl -u icnd -f
# Restart
sudo systemctl restart icnd
๐ Troubleshooting
Problem: Can't connect from mobile app
# Check firewall
sudo ufw status
# Allow port (if needed)
sudo ufw allow 8080
Problem: WebSocket disconnects
# Check logs
docker logs icn-daemon | grep -i websocket
# Increase nginx timeout if using reverse proxy
proxy_read_timeout 3600s;
Problem: Gateway won't start
# Check logs
docker logs icn-daemon
# Common: Port already in use
sudo lsof -i :8080
# Common: JWT_SECRET not set
cat deploy/.env | grep JWT_SECRET
๐ Full Documentation
- Deployment Guide: DEPLOYMENT_READY.md
- Mobile Integration: MOBILE_APP_STATUS.md
- Architecture: ARCHITECTURE.md
- Security: production-hardening.md
โ Production Checklist
- JWT_SECRET is random (not default)
- HTTPS configured with valid SSL
- Grafana password changed
- Firewall enabled (80/443 only)
- Backups configured
- DNS pointing to server
- Mobile app using production URL
- Test from mobile network
- Monitor Grafana dashboards
- Health checks passing
๐ฏ Success Criteria
After deployment, verify:
โ
curl http://localhost:8080/v1/health returns 200
โ
Grafana shows metrics flowing
โ
Mobile app can register user
โ
Mobile app can send payment
โ
WebSocket real-time updates work
โ
Offline mode syncs correctly
โ
No errors in docker logs icn-daemon
๐ Support
- Issues: https://github.com/InterCooperative-Network/icn/issues
- Docs:
/docsdirectory in repository
Ready? Run this now:
git clone https://github.com/InterCooperative-Network/icn.git
cd icn/deploy
./quickstart.sh "My Cooperative"
๐ You're live in 5 minutes!