Created
August 4, 2025 02:07
-
-
Save sm1ky/615a7b188a6db1ce3743804de33a46a0 to your computer and use it in GitHub Desktop.
install remna node
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # Remnawave Node Installation Script | |
| set -e | |
| # Colors for output | |
| RED='\033[0;31m' | |
| GREEN='\033[0;32m' | |
| YELLOW='\033[1;33m' | |
| BLUE='\033[0;34m' | |
| NC='\033[0m' # No Color | |
| # Logging function | |
| log() { | |
| echo -e "${BLUE}[$(date +'%Y-%m-%d %H:%M:%S')]${NC} $1" | |
| } | |
| error() { | |
| echo -e "${RED}[ERROR]${NC} $1" >&2 | |
| } | |
| success() { | |
| echo -e "${GREEN}[SUCCESS]${NC} $1" | |
| } | |
| warning() { | |
| echo -e "${YELLOW}[WARNING]${NC} $1" | |
| } | |
| # Check if SSL_CERT is provided | |
| if [ -z "$1" ]; then | |
| error "SSL certificate is required!" | |
| echo "Usage: $0 <SSL_CERT>" | |
| exit 1 | |
| fi | |
| SSL_CERT="$1" | |
| log "Starting Remnawave Node installation..." | |
| # Update system | |
| log "Updating system packages..." | |
| if ! sudo apt-get update --allow-insecure-repositories --allow-releaseinfo-change -o Acquire::ForceIPv4=true -o Acquire::Check-Valid-Until=false -o Acquire::Max-FutureTime=864000; then | |
| warning "System update failed, continuing anyway..." | |
| fi | |
| # Install required packages | |
| log "Installing required packages..." | |
| sudo apt-get install -y curl ufw | |
| # Install Docker | |
| log "Installing Docker..." | |
| if ! command -v docker &> /dev/null; then | |
| sudo curl -fsSL https://get.docker.com | sh | |
| success "Docker installed successfully" | |
| else | |
| log "Docker is already installed" | |
| fi | |
| # Create remnawave-node directory | |
| log "Creating Remnawave Node directory..." | |
| sudo mkdir -p /opt/remnawave-node | |
| cd /opt/remnawave-node | |
| # Create .env file | |
| log "Creating environment configuration..." | |
| sudo tee .env > /dev/null <<EOF | |
| APP_PORT=2222 | |
| SSL_CERT=${SSL_CERT} | |
| EOF | |
| # Create log directory | |
| log "Creating log directory..." | |
| sudo mkdir -p /var/log/remnanode | |
| # Create docker-compose.yml | |
| log "Creating Docker Compose configuration..." | |
| sudo tee docker-compose.yml > /dev/null <<'EOF' | |
| services: | |
| remnanode: | |
| container_name: remnanode | |
| hostname: remnanode | |
| image: remnawave/node:latest | |
| restart: always | |
| network_mode: host | |
| env_file: | |
| - .env | |
| volumes: | |
| - /var/log/remnanode:/var/log/remnanode | |
| EOF | |
| # Start the service | |
| log "Starting Remnawave Node service..." | |
| if sudo docker compose up -d; then | |
| success "Remnawave Node started successfully!" | |
| else | |
| error "Failed to start Remnawave Node" | |
| exit 1 | |
| fi | |
| # Wait a moment for the service to start | |
| sleep 5 | |
| # Check if container is running | |
| log "Checking service status..." | |
| if sudo docker ps | grep -q "remnanode"; then | |
| success "Remnawave Node is running!" | |
| log "Container status:" | |
| sudo docker ps --filter "name=remnanode" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" | |
| else | |
| error "Remnawave Node is not running. Check logs:" | |
| sudo docker logs remnanode | |
| exit 1 | |
| fi | |
| success "Remnawave Node installation completed successfully!" | |
| log "Service is accessible on port 2222" | |
| log "Logs can be viewed with: sudo docker logs remnanode" | |
| log "To stop the service: cd /opt/remnawave-node && sudo docker compose down" | |
| log "To restart the service: cd /opt/remnawave-node && sudo docker compose restart" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment