From e92aba8dc8c81035313bd34ad6b14adf5cd15f1c Mon Sep 17 00:00:00 2001 From: beroth Date: Thu, 6 Mar 2025 17:18:07 -0600 Subject: [PATCH] first try --- installEmulatorjs.sh | 91 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 installEmulatorjs.sh diff --git a/installEmulatorjs.sh b/installEmulatorjs.sh new file mode 100644 index 0000000..83e1d12 --- /dev/null +++ b/installEmulatorjs.sh @@ -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 < $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