setupEmulatorJS/installEmulatorjs.sh

90 lines
2.8 KiB
Bash
Raw Permalink Normal View History

2025-03-06 17:18:07 -06:00
#!/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 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