# Install Homebrew if not installed
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install Docker Desktop
brew install --cask docker
# Install Python 3.11+
brew install python@3.11# Update packages
sudo apt update
# Install Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# Install Docker Compose
sudo apt install docker-compose
# Install Python 3.11+
sudo apt install python3.11 python3-pip- Download and install Docker Desktop for Windows
- Download and install Python 3.11+
# Clone the repository (or use existing)
cd /Users/snacky/PycharmProjects/indicator
# Make setup script executable
chmod +x setup.sh
# Run automated setup
./setup.shThe script will:
- β Check prerequisites
- β Create .env configuration
- β Generate secure keys
- β Pull Docker images
- β Start all services
- β Initialize database
# Copy environment template
cp .env.example .env
# Generate secrets
echo "SECRET_KEY=$(openssl rand -hex 32)" >> .env
echo "JWT_SECRET=$(openssl rand -hex 32)" >> .env
# Edit .env file
nano .env # or use your preferred editorRequired in .env:
PUMP_FUN_API_KEY=your_actual_api_key_heremkdir -p models data logs ssl
mkdir -p monitoring/grafana/dashboards
mkdir -p monitoring/grafana/datasources# Start all services
docker-compose up -d
# Check status
docker-compose ps
# View logs
docker-compose logs -fOnce running, access:
| Service | URL | Credentials |
|---|---|---|
| Dashboard | http://localhost | None required |
| API | http://localhost:8000 | None required |
| API Docs | http://localhost:8000/docs | None required |
| WebSocket | ws://localhost:8080/ws | None required |
| Grafana | http://localhost:3000 | admin / admin |
| Prometheus | http://localhost:9090 | None required |
curl http://localhost:8000/api/health# Get recent tokens
curl http://localhost:8000/api/tokens/recent
# Analyze specific token (replace with actual address)
curl http://localhost:8000/api/tokens/YOUR_TOKEN_ADDRESS// In browser console or Node.js
const ws = new WebSocket('ws://localhost:8080/ws');
ws.onopen = () => console.log('Connected!');
ws.onmessage = (e) => console.log('Data:', JSON.parse(e.data));- Open http://localhost in browser
- Enter a token address in search bar
- Click "Analyze"
# All services
docker-compose logs -f
# Specific service
docker-compose logs -f api
docker-compose logs -f websocket
docker-compose logs -f ml_trainer# Restart all
docker-compose restart
# Restart specific service
docker-compose restart api# Stop services (preserves data)
docker-compose down
# Stop and remove volumes (DELETES DATA)
docker-compose down -v# The API runs with --reload flag in development
# Changes to src/ are auto-reloaded
# For production updates:
docker-compose build api
docker-compose up -d api# Generate SSL certificates
certbot certonly --standalone -d yourdomain.com
# Update nginx.conf with SSL configuration
# Restart nginx
docker-compose restart nginx- Change default passwords in .env
- Update Grafana admin password
- Enable firewall rules
- Set DEBUG=false in .env
- Use private Solana RPC endpoint
- Enable rate limiting
- Set up backup strategy
# Scale API workers
docker-compose up -d --scale api=3
# Increase resource limits in docker-compose.yml# Check Docker is running
docker info
# Check port conflicts
netstat -an | grep -E '(8000|8080|5432|6379|3000)'
# Check logs
docker-compose logs# Check postgres is running
docker-compose ps postgres
# Test connection
docker-compose exec postgres psql -U pump_user -d pump_indicator -c "SELECT 1;"# Check websocket service
docker-compose logs websocket
# Restart service
docker-compose restart websocket# Check API key is set
grep PUMP_FUN_API_KEY .env
# Test API directly
docker-compose exec api python -c "from src.config import config; print(config.api.pump_fun_base_url)"- Open Grafana: http://localhost:3000
- Import dashboard from
monitoring/grafana/dashboards/ - View real-time metrics
curl http://localhost:8000/metricsdocker-compose exec postgres pg_stat_activity# Start everything
./setup.sh
# Stop everything
docker-compose down
# View status
docker-compose ps
# Follow logs
docker-compose logs -f
# Enter container
docker-compose exec api bash
# Run tests
docker-compose exec api pytest tests/
# Database console
docker-compose exec postgres psql -U pump_user -d pump_indicator
# Redis console
docker-compose exec redis redis-cli
# Rebuild after code changes
docker-compose build && docker-compose up -d
# Full reset (DELETES DATA)
docker-compose down -v && ./setup.sh- Check logs:
docker-compose logs [service_name] - API docs: http://localhost:8000/docs
- Report issues: Create an issue in the repository
- Join Discord: Community Support
Your Pump.fun Trading Indicator is now running. Open http://localhost to start analyzing tokens!