Update setup.sh
This commit is contained in:
116
setuper/setup.sh
116
setuper/setup.sh
@@ -55,41 +55,41 @@ setup_packmate() {
|
|||||||
mkdir -p pcaps rsa_keys Packmate_stuff
|
mkdir -p pcaps rsa_keys Packmate_stuff
|
||||||
|
|
||||||
# Create .env file
|
# Create .env file
|
||||||
cat > .env <<EOF
|
cat > .env <<'ENVEOF'
|
||||||
BUILD_TAG=latest
|
BUILD_TAG=latest
|
||||||
PACKMATE_DB_PASSWORD=${PACKMATE_DB_PASSWORD:-K604YnL3G1hp2RDkCZNjGpxbyNpNHTRb}
|
PACKMATE_DB_PASSWORD=${PACKMATE_DB_PASSWORD:-K604YnL3G1hp2RDkCZNjGpxbyNpNHTRb}
|
||||||
NET_INTERFACE=${NET_INTERFACE:-eth0}
|
NET_INTERFACE=${NET_INTERFACE:-eth0}
|
||||||
PACKMATE_LOCAL_IP=${PACKMATE_LOCAL_IP:-10.60.0.1}
|
PACKMATE_LOCAL_IP=${PACKMATE_LOCAL_IP:-10.60.0.1}
|
||||||
WEB_LOGIN=${WEB_LOGIN:-admin}
|
WEB_LOGIN=${WEB_LOGIN:-admin}
|
||||||
WEB_PASSWORD=${WEB_PASSWORD:-admin123}
|
WEB_PASSWORD=${WEB_PASSWORD:-admin123}
|
||||||
EOF
|
ENVEOF
|
||||||
|
|
||||||
# Create PostgreSQL config
|
# Create PostgreSQL config
|
||||||
cat > Packmate_stuff/postgresql.conf <<EOF
|
cat > Packmate_stuff/postgresql.conf <<'PGEOF'
|
||||||
port = 65001
|
port = 65001
|
||||||
max_connections = 100
|
max_connections = 100
|
||||||
shared_buffers = 128MB
|
shared_buffers = 128MB
|
||||||
EOF
|
PGEOF
|
||||||
|
|
||||||
# Create update script
|
# Create update script
|
||||||
cat > Packmate_stuff/update_db_config.sh <<'EOF'
|
cat > Packmate_stuff/update_db_config.sh <<'SHEOF'
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
cp /tmp/postgresql.conf /var/lib/postgresql/data/postgresql.conf
|
cp /tmp/postgresql.conf /var/lib/postgresql/data/postgresql.conf
|
||||||
EOF
|
SHEOF
|
||||||
chmod +x Packmate_stuff/update_db_config.sh
|
chmod +x Packmate_stuff/update_db_config.sh
|
||||||
|
|
||||||
# Create docker-compose.yml
|
# Create docker-compose.yml
|
||||||
cat > docker-compose.yml <<EOF
|
cat > docker-compose.yml <<'DCEOF'
|
||||||
version: '3.8'
|
version: '3.8'
|
||||||
services:
|
services:
|
||||||
packmate:
|
packmate:
|
||||||
environment:
|
environment:
|
||||||
DB_PASSWORD: \${PACKMATE_DB_PASSWORD:-K604YnL3G1hp2RDkCZNjGpxbyNpNHTRb}
|
DB_PASSWORD: ${PACKMATE_DB_PASSWORD:-K604YnL3G1hp2RDkCZNjGpxbyNpNHTRb}
|
||||||
INTERFACE: \${NET_INTERFACE:-}
|
INTERFACE: ${NET_INTERFACE:-}
|
||||||
LOCAL_IP: \${PACKMATE_LOCAL_IP}
|
LOCAL_IP: ${PACKMATE_LOCAL_IP}
|
||||||
MODE: LIVE
|
MODE: LIVE
|
||||||
WEB_LOGIN: \${WEB_LOGIN:-admin}
|
WEB_LOGIN: ${WEB_LOGIN:-admin}
|
||||||
WEB_PASSWORD: \${WEB_PASSWORD:-admin123}
|
WEB_PASSWORD: ${WEB_PASSWORD:-admin123}
|
||||||
OLD_STREAMS_CLEANUP_ENABLED: true
|
OLD_STREAMS_CLEANUP_ENABLED: true
|
||||||
OLD_STREAMS_CLEANUP_INTERVAL: 5
|
OLD_STREAMS_CLEANUP_INTERVAL: 5
|
||||||
OLD_STREAMS_CLEANUP_THRESHOLD: 240
|
OLD_STREAMS_CLEANUP_THRESHOLD: 240
|
||||||
@@ -97,7 +97,7 @@ services:
|
|||||||
- .env
|
- .env
|
||||||
container_name: packmate-app
|
container_name: packmate-app
|
||||||
network_mode: "host"
|
network_mode: "host"
|
||||||
image: registry.gitlab.com/packmate/packmate:\${BUILD_TAG:-latest}
|
image: registry.gitlab.com/packmate/packmate:${BUILD_TAG:-latest}
|
||||||
volumes:
|
volumes:
|
||||||
- "./pcaps/:/app/pcaps/:ro"
|
- "./pcaps/:/app/pcaps/:ro"
|
||||||
- "./rsa_keys/:/app/rsa_keys/:ro"
|
- "./rsa_keys/:/app/rsa_keys/:ro"
|
||||||
@@ -109,7 +109,7 @@ services:
|
|||||||
container_name: packmate-db
|
container_name: packmate-db
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_USER: packmate
|
POSTGRES_USER: packmate
|
||||||
POSTGRES_PASSWORD: \${PACKMATE_DB_PASSWORD:-K604YnL3G1hp2RDkCZNjGpxbyNpNHTRb}
|
POSTGRES_PASSWORD: ${PACKMATE_DB_PASSWORD:-K604YnL3G1hp2RDkCZNjGpxbyNpNHTRb}
|
||||||
POSTGRES_DB: packmate
|
POSTGRES_DB: packmate
|
||||||
network_mode: "host"
|
network_mode: "host"
|
||||||
image: postgres:15.2
|
image: postgres:15.2
|
||||||
@@ -121,7 +121,7 @@ services:
|
|||||||
interval: 2s
|
interval: 2s
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 15
|
retries: 15
|
||||||
EOF
|
DCEOF
|
||||||
|
|
||||||
echo "Packmate setup complete!"
|
echo "Packmate setup complete!"
|
||||||
|
|
||||||
@@ -155,7 +155,7 @@ setup_farm() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Create .env file
|
# Create .env file
|
||||||
cat > .env <<EOF
|
cat > .env <<'ENVEOF'
|
||||||
# Database configuration
|
# Database configuration
|
||||||
DB_PORT=5432
|
DB_PORT=5432
|
||||||
DB_HOST=postgres
|
DB_HOST=postgres
|
||||||
@@ -176,10 +176,10 @@ IP_TEAM_BASE=${IP_TEAM_BASE:-10.60.}
|
|||||||
|
|
||||||
# API Token
|
# API Token
|
||||||
API_TOKEN=${FARM_API_TOKEN:-farm-api-token-123}
|
API_TOKEN=${FARM_API_TOKEN:-farm-api-token-123}
|
||||||
EOF
|
ENVEOF
|
||||||
|
|
||||||
# Create docker-compose.yml
|
# Create docker-compose.yml
|
||||||
cat > docker-compose.yml <<EOF
|
cat > docker-compose.yml <<'DCEOF'
|
||||||
version: '3.8'
|
version: '3.8'
|
||||||
services:
|
services:
|
||||||
farm:
|
farm:
|
||||||
@@ -188,17 +188,17 @@ services:
|
|||||||
postgres:
|
postgres:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
environment:
|
environment:
|
||||||
- DB_PORT=\${DB_PORT}
|
- DB_PORT=${DB_PORT}
|
||||||
- DB_HOST=\${DB_HOST}
|
- DB_HOST=${DB_HOST}
|
||||||
- DB_USER=\${DB_USER}
|
- DB_USER=${DB_USER}
|
||||||
- DB_PASS=\${DB_PASS}
|
- DB_PASS=${DB_PASS}
|
||||||
- DB_NAME=\${DB_NAME}
|
- DB_NAME=${DB_NAME}
|
||||||
- BOARD_URL=\${BOARD_URL}
|
- BOARD_URL=${BOARD_URL}
|
||||||
- TEAM_TOKEN=\${TEAM_TOKEN}
|
- TEAM_TOKEN=${TEAM_TOKEN}
|
||||||
- WEB_PASSWORD=\${WEB_PASSWORD}
|
- WEB_PASSWORD=${WEB_PASSWORD}
|
||||||
- NUM_TEAMS=\${NUM_TEAMS}
|
- NUM_TEAMS=${NUM_TEAMS}
|
||||||
- IP_TEAM_BASE=\${IP_TEAM_BASE}
|
- IP_TEAM_BASE=${IP_TEAM_BASE}
|
||||||
- API_TOKEN=\${API_TOKEN}
|
- API_TOKEN=${API_TOKEN}
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
container_name: farm-app
|
container_name: farm-app
|
||||||
@@ -209,16 +209,21 @@ services:
|
|||||||
postgres:
|
postgres:
|
||||||
image: postgres:18
|
image: postgres:18
|
||||||
environment:
|
environment:
|
||||||
- POSTGRES_USER=\${DB_USER}
|
- POSTGRES_USER=${DB_USER}
|
||||||
- POSTGRES_PASSWORD=\${DB_PASS}
|
- POSTGRES_PASSWORD=${DB_PASS}
|
||||||
- POSTGRES_DB=\${DB_NAME}
|
- POSTGRES_DB=${DB_NAME}
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: pg_isready -U \${DB_USER} -d \${DB_NAME}
|
test: pg_isready -U ${DB_USER} -d ${DB_NAME}
|
||||||
interval: 10s
|
interval: 10s
|
||||||
timeout: 3s
|
timeout: 3s
|
||||||
retries: 3
|
retries: 3
|
||||||
volumes:
|
volumes:
|
||||||
- farm-db:/var/lib/postgresql/data
|
- farm-db:/var/lib/postgresql/data
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
farm-db:
|
||||||
|
DCEOF
|
||||||
|
|
||||||
echo "moded_distructive_farm setup complete!"
|
echo "moded_distructive_farm setup complete!"
|
||||||
|
|
||||||
# Register with controller
|
# Register with controller
|
||||||
@@ -230,11 +235,6 @@ services:
|
|||||||
echo " You can register manually later via the web dashboard"
|
echo " You can register manually later via the web dashboard"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd "$SCRIPT_DIR"
|
|
||||||
# Register with controller
|
|
||||||
echo "Registering farm with controller..."
|
|
||||||
call_api "/services" "POST" "{\"name\": \"farm\", \"path\": \"$farm_dir\", \"git_url\": \"https://github.com/ilyastar9999/moded_distructive_farm.git\"}"
|
|
||||||
|
|
||||||
cd "$SCRIPT_DIR"
|
cd "$SCRIPT_DIR"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -256,16 +256,16 @@ setup_firegex() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Create .env file
|
# Create .env file
|
||||||
cat > .env <<EOF
|
cat > .env <<'ENVEOF'
|
||||||
# Firegex configuration
|
# Firegex configuration
|
||||||
TEAM_TOKEN=${TEAM_TOKEN:-your-team-token}
|
TEAM_TOKEN=${TEAM_TOKEN:-your-team-token}
|
||||||
SCOREBOARD_URL=${BOARD_URL:-http://10.60.0.1}
|
SCOREBOARD_URL=${BOARD_URL:-http://10.60.0.1}
|
||||||
FIREGEX_PORT=${FIREGEX_PORT:-5000}
|
FIREGEX_PORT=${FIREGEX_PORT:-5000}
|
||||||
EOF
|
ENVEOF
|
||||||
|
|
||||||
# Create docker-compose.yml if not exists
|
# Create docker-compose.yml if not exists
|
||||||
if [ ! -f "docker-compose.yml" ]; then
|
if [ ! -f "docker-compose.yml" ]; then
|
||||||
cat > docker-compose.yml <<EOF
|
cat > docker-compose.yml <<'DCEOF'
|
||||||
version: '3.8'
|
version: '3.8'
|
||||||
services:
|
services:
|
||||||
firegex:
|
firegex:
|
||||||
@@ -273,10 +273,15 @@ services:
|
|||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
environment:
|
environment:
|
||||||
- TEAM_TOKEN=\${TEAM_TOKEN}
|
- TEAM_TOKEN=${TEAM_TOKEN}
|
||||||
- SCOREBOARD_URL=\${SCOREBOARD_URL}
|
- SCOREBOARD_URL=${SCOREBOARD_URL}
|
||||||
container_name: firegex-app
|
container_name: firegex-app
|
||||||
restart: always
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "${FIREGEX_PORT:-5000}:5000"
|
||||||
|
DCEOF
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Firegex setup complete!"
|
echo "Firegex setup complete!"
|
||||||
|
|
||||||
# Register with controller
|
# Register with controller
|
||||||
@@ -288,11 +293,6 @@ services:
|
|||||||
echo " You can register manually later via the web dashboard"
|
echo " You can register manually later via the web dashboard"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd "$SCRIPT_DIR"
|
|
||||||
# Register with controller
|
|
||||||
echo "Registering Firegex with controller..."
|
|
||||||
call_api "/services" "POST" "{\"name\": \"firegex\", \"path\": \"$firegex_dir\", \"git_url\": \"https://github.com/Pwnzer0tt1/firegex.git\"}"
|
|
||||||
|
|
||||||
cd "$SCRIPT_DIR"
|
cd "$SCRIPT_DIR"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -310,6 +310,16 @@ main() {
|
|||||||
|
|
||||||
if [ "$setup_pm" = "y" ]; then
|
if [ "$setup_pm" = "y" ]; then
|
||||||
setup_packmate
|
setup_packmate
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$setup_fm" = "y" ]; then
|
||||||
|
setup_farm
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$setup_fg" = "y" ]; then
|
||||||
|
setup_firegex
|
||||||
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "=== Setup Complete! ==="
|
echo "=== Setup Complete! ==="
|
||||||
echo "Services have been configured in: $SERVICES_DIR"
|
echo "Services have been configured in: $SERVICES_DIR"
|
||||||
@@ -319,16 +329,6 @@ main() {
|
|||||||
echo " 2. Access web dashboard: http://localhost:8000"
|
echo " 2. Access web dashboard: http://localhost:8000"
|
||||||
echo " 3. Register services via the dashboard if auto-registration failed"
|
echo " 3. Register services via the dashboard if auto-registration failed"
|
||||||
echo ""
|
echo ""
|
||||||
} fi
|
|
||||||
|
|
||||||
if [ "$setup_fg" = "y" ]; then
|
|
||||||
setup_firegex
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "=== Setup Complete! ==="
|
|
||||||
echo "Services have been configured in: $SERVICES_DIR"
|
|
||||||
echo "You can manage them through the controller API or web dashboard"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Run main if executed directly
|
# Run main if executed directly
|
||||||
|
|||||||
Reference in New Issue
Block a user