first try
This commit is contained in:
		
							parent
							
								
									220b93a044
								
							
						
					
					
						commit
						e92aba8dc8
					
				
							
								
								
									
										91
									
								
								installEmulatorjs.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								installEmulatorjs.sh
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,91 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Script to install Docker and set up EmulatorJS
 | 
				
			||||||
 | 
					# Works on Debian/Ubuntu, Fedora, and CentOS/RHEL
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Function to install Docker
 | 
				
			||||||
 | 
					install_docker() {
 | 
				
			||||||
 | 
					    echo "Installing Docker..."
 | 
				
			||||||
 | 
					    if command -v apt &> /dev/null; then
 | 
				
			||||||
 | 
					        # Debian/Ubuntu
 | 
				
			||||||
 | 
					        sudo apt update
 | 
				
			||||||
 | 
					        sudo apt install -y curl apt-transport-https ca-certificates software-properties-common
 | 
				
			||||||
 | 
					        sudo apt update
 | 
				
			||||||
 | 
					        sudo apt install -y docker docker-compose
 | 
				
			||||||
 | 
					        sudo usermod -aG docker $USER
 | 
				
			||||||
 | 
					    elif command -v dnf &> /dev/null; then
 | 
				
			||||||
 | 
					        # Fedora
 | 
				
			||||||
 | 
					        sudo dnf install -y dnf-plugins-core
 | 
				
			||||||
 | 
					        sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
 | 
				
			||||||
 | 
					        sudo dnf install -y docker-ce docker-ce-cli containerd.io
 | 
				
			||||||
 | 
					        sudo systemctl start docker docker-compose
 | 
				
			||||||
 | 
					        sudo systemctl enable docker docker-compose
 | 
				
			||||||
 | 
					        sudo usermod -aG docker $USER
 | 
				
			||||||
 | 
					    elif command -v yum &> /dev/null; then
 | 
				
			||||||
 | 
					        # CentOS/RHEL
 | 
				
			||||||
 | 
					        sudo yum install -y yum-utils
 | 
				
			||||||
 | 
					        sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
 | 
				
			||||||
 | 
					        sudo yum install -y docker-ce docker-ce-cli containerd.io
 | 
				
			||||||
 | 
					        sudo systemctl start docker docker-compose
 | 
				
			||||||
 | 
					        sudo systemctl enable docker docker-compose
 | 
				
			||||||
 | 
					        sudo usermod -aG docker $USER
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        echo "Unsupported distribution. Exiting."
 | 
				
			||||||
 | 
					        exit 1
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    echo "Docker installed successfully."
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Function to create directories for EmulatorJS
 | 
				
			||||||
 | 
					create_directories() {
 | 
				
			||||||
 | 
					    echo "Creating directories for EmulatorJS..."
 | 
				
			||||||
 | 
					    mkdir -p $HOME/emulatorjs/config
 | 
				
			||||||
 | 
					    mkdir -p $HOME/emulatorjs/data
 | 
				
			||||||
 | 
					    echo "Directories created at $HOME/emulatorjs/config and $HOME/emulatorjs/data."
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Function to deploy EmulatorJS using Docker Compose
 | 
				
			||||||
 | 
					deploy_emulatorjs() {
 | 
				
			||||||
 | 
					    echo "Deploying EmulatorJS..."
 | 
				
			||||||
 | 
					    cat <<EOF > $HOME/emulatorjs/docker-compose.yml
 | 
				
			||||||
 | 
					services:
 | 
				
			||||||
 | 
					  emulatorjs:
 | 
				
			||||||
 | 
					    image: lscr.io/linuxserver/emulatorjs:latest
 | 
				
			||||||
 | 
					    container_name: emulatorjs
 | 
				
			||||||
 | 
					    environment:
 | 
				
			||||||
 | 
					      - PUID=1000
 | 
				
			||||||
 | 
					      - PGID=1000
 | 
				
			||||||
 | 
					      - TZ=Etc/UTC
 | 
				
			||||||
 | 
					    volumes:
 | 
				
			||||||
 | 
					      - $HOME/emulatorjs/config:/config
 | 
				
			||||||
 | 
					      - $HOME/emulatorjs/data:/data
 | 
				
			||||||
 | 
					    ports:
 | 
				
			||||||
 | 
					      - 3000:3000
 | 
				
			||||||
 | 
					      - 80:80
 | 
				
			||||||
 | 
					      - 4001:4001
 | 
				
			||||||
 | 
					    restart: unless-stopped
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    cd $HOME/emulatorjs
 | 
				
			||||||
 | 
					    docker-compose up -d
 | 
				
			||||||
 | 
					    echo "EmulatorJS deployed successfully!"
 | 
				
			||||||
 | 
					    echo "Access it at http://localhost:3000"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Main script
 | 
				
			||||||
 | 
					if ! command -v docker &> /dev/null; then
 | 
				
			||||||
 | 
					    install_docker
 | 
				
			||||||
 | 
					    echo "Please log out and log back in to apply Docker group changes."
 | 
				
			||||||
 | 
					    echo "Then re-run this script to continue."
 | 
				
			||||||
 | 
					    exit 0
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ! command -v docker-compose &> /dev/null; then
 | 
				
			||||||
 | 
					    echo "Installing Docker Compose..."
 | 
				
			||||||
 | 
					    sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
 | 
				
			||||||
 | 
					    sudo chmod +x /usr/local/bin/docker-compose
 | 
				
			||||||
 | 
					    echo "Docker Compose installed successfully."
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					create_directories
 | 
				
			||||||
 | 
					deploy_emulatorjs
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user