Files
novelasvm/docs/INSTALL.md

210 lines
4.4 KiB
Markdown

# Guía de instalación
Esta guía describe cómo instalar NovelasVM desde cero en un servidor Ubuntu.
## Tabla de contenidos
1. [Preparación del sistema](#preparación-del-sistema)
2. [Usuario y directorios](#usuario-y-directorios)
3. [Instalación de dependencias](#instalación-de-dependencias)
4. [Instalación de Ren'Py SDK](#instalación-de-renpy-sdk)
5. [Instalación de OnscripterYuri web](#instalación-de-onscripteryuri-web)
6. [Configuración de nginx](#configuración-de-nginx)
7. [Instalación del portal](#instalación-del-portal)
8. [Configuración de Umineko Web](#configuración-de-umineko-web)
9. [Verificación final](#verificación-final)
---
## Preparación del sistema
Actualiza el sistema:
```bash
sudo apt update && sudo apt upgrade -y
```
Configura una IP estática. Edita `/etc/netplan/00-installer-config.yaml` o el archivo correspondiente:
```yaml
network:
version: 2
ethernets:
eth0:
addresses:
- 192.168.10.111/24
routes:
- to: default
via: 192.168.10.254
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
```
Aplica:
```bash
sudo netplan apply
```
---
## Usuario y directorios
Crea el usuario `novelas` y los directorios base:
```bash
sudo useradd -m -s /bin/bash novelas
sudo mkdir -p /opt/novelas/{bin,builds,projects,tools,config,templates/portal,docs}
sudo mkdir -p /var/www/novelas/{games,assets}
sudo chown -R novelas:novelas /opt/novelas
```
---
## Instalación de dependencias
```bash
sudo apt install -y \
nginx \
docker.io \
docker-compose \
python3 \
python3-pip \
nodejs \
npm \
xvfb \
p7zip-full \
git \
curl \
wget \
imagemagick \
ufw
```
Habilita Docker:
```bash
sudo systemctl enable --now docker
sudo usermod -aG docker novelas
```
---
## Instalación de Ren'Py SDK
Descarga Ren'Py SDK con el paquete web:
```bash
sudo mkdir -p /opt/novelas/tools/renpy
cd /opt/novelas/tools/renpy
sudo curl -sL -O https://www.renpy.org/dl/8.3.4/renpy-8.3.4-sdk.tar.bz2
sudo tar -xjf renpy-8.3.4-sdk.tar.bz2
sudo mv renpy-8.3.4-sdk/* .
sudo rm -rf renpy-8.3.4-sdk renpy-8.3.4-sdk.tar.bz2
sudo chown -R novelas:novelas /opt/novelas/tools/renpy
```
Verifica:
```bash
/opt/novelas/tools/renpy/renpy.sh --version
```
---
## Instalación de OnscripterYuri web
Descarga la última versión web:
```bash
sudo mkdir -p /opt/novelas/tools/onscripter-yuri
cd /opt/novelas/tools/onscripter-yuri
VERSION="0.7.6"
curl -sL -o onsyuri_v${VERSION}_web.7z \
https://github.com/YuriSizuku/OnscripterYuri/releases/download/v${VERSION}/onsyuri_v${VERSION}_web.7z
7z x -y onsyuri_v${VERSION}_web.7z
rm onsyuri_v${VERSION}_web.7z
sudo chown -R novelas:novelas /opt/novelas/tools/onscripter-yuri
```
---
## Configuración de nginx
Copia la configuración del repositorio:
```bash
sudo cp /opt/novelas/repo/config/nginx.conf /etc/nginx/sites-available/novelas
sudo ln -sf /etc/nginx/sites-available/novelas /etc/nginx/sites-enabled/novelas
sudo rm -f /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl reload nginx
```
> Nota: el archivo `config/nginx.conf` del repositorio es una plantilla; ajústala según tu IP/dominio.
---
## Instalación del portal
Copia los archivos del portal:
```bash
sudo cp -r /opt/novelas/repo/var-www/* /var/www/novelas/
sudo chown -R www-data:www-data /var/www/novelas
sudo find /var/www/novelas -type f -exec chmod 644 {} \;
sudo find /var/www/novelas -type d -exec chmod 755 {} \;
```
Copia los scripts:
```bash
sudo cp /opt/novelas/repo/bin/* /opt/novelas/bin/
sudo chmod +x /opt/novelas/bin/*.sh
sudo chown -R novelas:novelas /opt/novelas/bin
```
---
## Configuración de Umineko Web
Clona el repositorio del contenedor:
```bash
sudo mkdir -p /opt/novelas/tools
cd /opt/novelas/tools
sudo git clone --depth 1 https://github.com/VictoriqueMoe/umineko_web_asm.git umineko-web-asm
sudo cp /opt/novelas/repo/bin/umineko-web.sh umineko-web-asm/run-umineko-web.sh
sudo chmod +x umineko-web-asm/run-umineko-web.sh
```
Edita `run-umineko-web.sh` con la ruta correcta a los archivos del juego y la IP del servidor.
Coloca los archivos de Umineko en `/opt/novelas/projects/umineko/` y luego:
```bash
sudo /opt/novelas/bin/umineko-web.sh start
```
---
## Verificación final
```bash
# nginx
sudo systemctl is-active nginx
# Docker
sudo docker ps
# Portal
curl -s http://localhost/games.json
# Umineko redirect
curl -sI http://localhost/games/umineko/
```
Accede con tu navegador a `http://192.168.10.111/`.