Files
ad-infr-control/QUICKSTART.md
ilyastar9999 cffbd77b74 init
2025-12-02 14:01:34 +03:00

3.1 KiB

Quick Start Guide

Prerequisites

  • Docker and Docker Compose installed
  • Git installed
  • A Telegram bot token (optional but recommended)

Installation Steps

1. Clone and Configure

git clone <your-repo-url>
cd attack-defence-infr-control
cp .env.example .env

2. Edit Configuration

Open .env and configure:

# Required
SECRET_TOKEN=<generate random string>
POSTGRES_PASSWORD=<secure password>

# Telegram (for alerts)
TELEGRAM_BOT_TOKEN=<your bot token>
TELEGRAM_CHAT_ID=<your chat id>

# Game settings
OUR_TEAM_ID=<your team number>
SCOREBOARD_WS_URL=ws://<scoreboard-ip>:8080/api/events

3. Start Infrastructure

docker-compose up -d

Wait for all services to start (about 30 seconds).

4. Access Dashboard

Open your browser to: http://localhost:8000

Default login password: admin123 (change in .env: WEB_PASSWORD)

5. Setup A/D Services

cd setuper
chmod +x setup.sh
./setup.sh

Follow the prompts to install:

  • Packmate (traffic analysis)
  • moded_distructive_farm (attack farm)
  • Firegex (flag checker)

First Steps in Dashboard

  1. Navigate to Services page - You'll see registered services
  2. Start a service - Click the green play button
  3. Monitor Attacks page - Real-time attack feed
  4. Check Alerts page - Critical alerts and notifications

Testing

Test Telegram Bot

curl -X POST http://localhost:8003/send \
  -H "Authorization: Bearer YOUR_SECRET_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"message": "Test alert from A/D Control"}'

Register a Test Service

curl -X POST http://localhost:8001/services \
  -H "Authorization: Bearer YOUR_SECRET_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "test-service", "path": "/services/test"}'

Common Tasks

View Logs

# All services
docker-compose logs -f

# Specific service
docker-compose logs -f web
docker-compose logs -f controller

Restart Services

docker-compose restart

Stop Everything

docker-compose down

Update Code

git pull
docker-compose up -d --build

Troubleshooting

Can't access dashboard

  • Check if containers are running: docker-compose ps
  • Check web logs: docker-compose logs web
  • Verify port 8000 is not in use: netstat -tulpn | grep 8000

Database connection errors

  • Check PostgreSQL: docker-compose logs postgres
  • Verify DATABASE_URL format in logs
  • Restart: docker-compose restart postgres

Telegram not working

  • Verify bot token is correct
  • Check chat ID is correct (must be numeric)
  • Test bot: docker-compose logs tg-bot

Next Steps

  1. Configure your team's specific settings in .env
  2. Setup your attack/defense services using the setuper script
  3. Configure alert thresholds in .env:
    • ALERT_THRESHOLD_POINTS=100 (points before alert)
    • ALERT_THRESHOLD_TIME=300 (time window in seconds)
  4. Start monitoring the scoreboard and attacks!

Getting Help

  • Check the main README.md for detailed documentation
  • Review service logs: docker-compose logs <service-name>
  • Ensure all environment variables are set correctly in .env