Skip to content

ZeroCool22/rouzer3.0

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aclaraciones (*)


Esta es una versión modificada de la guía original: secciones nuevas tienen un (*) en el título, comentarios adicionales tienen otro formato, y comandos modificados tienen referencias previas.

Las adaptaciones corresponden a los problemas que alguien en particular encontró al momento de intentar poner la aplicación en funcionamiento sin casi conocerla. El repositorio también tiene algunos cambios en los archivos para facilitar el proceso, la siguiente imagen en parte lo explica.

Importante resaltar: No quiere decir que esto traiga las correcciones ideales, solo son las que alguien en particular pudo aplicar. Es recomendado prestar atención a los pasos, y sobre todo aprender.

Rozed: Guia de instalación rápida


Instalando requisitos previos

Ubuntu

Pueden instalar la version normal o la server, probablemente la server sea mejor para esto, aunque yo use la version desktop.

Aca explican bien como hacer https://www.muylinux.com/2020/05/21/guia-instalacion-ubuntu-20-04-lts/

.NET Core 5.0

Rouzer esta programada en C#, para compilarla y ejecutarla debemos instalar el sdk .net core.

wget https://packages.microsoft.com/config/ubuntu/20.10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

Si lo siguiente da error por dependencias o similar, que es posible según los repositorios del sistema que se esté usando, se puede buscar los paquetes faltantes aparte

sudo apt-get update; sudo apt-get install -y apt-transport-https && sudo apt-get update && sudo apt-get install -y dotnet-sdk-5.0

En la documentacion pueden ver una guia mas detallada https://docs.microsoft.com/en-us/dotnet/core/install/linux-ubuntu

PostgreSql

Postgres es la base de datos que elegi, garpa, igual creo que leves modificaciones se pueden usar otras como MariaDb, MySQL, Mon?goDB, etc

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get -y update && sudo apt-get -y install postgresql

Mas informacion en la documentacion oficial https://www.postgresql.org/download/linux/ubuntu/

FFmpeg

Rouzer utiliza este programa para generar las previsualizaciones de los videos y gifs

sudo apt-get -y install ffmpeg

Nginx

Nginx se encarga de servir los archivos estaticos (imagenes, js, css, audios, etc), tambien hace otras cosas importantes pero no me acuerdo kjjj

sudo apt-get update && sudo apt-get -y install nginx
sudo service nginx start

Configuracion de base de datos

Creando la base de datos

sudo su postgres
createdb Rozed

Configurando contraseña de la db

psql
# se va a abrir una consola, peguen lo de abajo.
ALTER USER postgres  WITH PASSWORD 'jejetabien';
\q

Descargar Rozed

Nos dirigimos al directorio donde queremos descargar rozed, por ejemplo /home y hacemos git clone

Si esto da problemas de permisos también sirve simplemente ir a la carpeta de usuario con "cd ~"

El enlace del repositorio fue modificado por el de este mismo, para incluir los archivos faltantes

cd /home
sudo git clone https://github.com/ZeroCool22/rouzer3.0.git
# Cambiamos el nombre de la carpeta de "rouzer3.0" a "rozed" porque si no se rompe todo
sudo mv rouzer3.0 rozed

Configurar Nginx

Los comandos fueron modificados para que no den problemas de permisos

sudo cp rozed/Otros/nginx.conf /etc/nginx/
sudo nginx -s reload

No te falta compilar el FrontEnd, pero... (*)

Este repositorio tiene ya incluidos los archivos después de compilar el FrontEnd (es la principal diferencia entre la guía de RozedShow y LaDevWendy), entonces este paso "podría saltearse". Pero en caso de hacer modificaciones en la parte de Svelte sería necesario para actualizar los archivos

Primero instalar nodejs y npm

sudo apt install nodejs
sudo apt install npm

Luego tenés que moverte a la carpeta /FrontEndWeb y ahí instalar las dependencias:

Este repositorio no incluye "node-sass" en package.json, para evitar problemas comunes al compilar

Igualmente pueden aparecer problemas según las versiones utilizadas: con las que ya están no debería pasar, sin embargo, en caso de haber errores, aparte de leerlos bien, es posible que algunos se solucionen solo cambiando las versiones de los paquetes, principalmente Svelte. Por ejemplo, probar cambiando de "^3.0.0" a "3.29.0"

sudo npm install

y reparar vulnerabilidades:

También, cuidado con esto de reparar vulnerabilidades: si más adelante el sitio da problemas, por ejemplo para iniciar sesión o para que funcionen algunos botones, para solucionarlo puede servir revisar u omitir este paso

sudo npm audit fix

Y ahora sí, finalmente, compilar el FrontEnd:

sudo npm run build

Iniciar directamente (*)

Configurar Systemd explica cómo iniciar la aplicación mediante servicio, pero al hacer esto, no es sencillo ver si hay errores, por esto garparía primero intentar iniciarla directamente

Para eso hay que moverse a la carpeta /WebApp y abrir la aplicación con dotnet

Otra diferencia importante entre las versiones de RozedShow y LaDevWendy, es que la segunda no incluye un archivo clave para el inicio: generalsettings.json de /WebApp, si no está eso choca ni bien quiere arrancar. En este repositorio está incluido para no tener ese error.

En caso de encontrar un error al primer arranque, volver a intentar, y si persiste, revisar bien el registro para resolverlo, puede pasar que: el puerto predeterminado ya esté en uso, que la base de datos no esté bien configurada, que dotnet no esté instalado en la versión correcta, que no haya espacio en el almacenamiento, entre otras cosas

cd rozed/WebApp
sudo dotnet run

Configurar Systemd

Esta cosa hace se encarga de ejecutar rozed al iniciar el sistema y reiniciarla cuando choca.

Si alguien está instalando esto por primera vez, es recomendado que intente de Iniciar directamente (*) para verificar que la aplicación no de errores al iniciar, y en caso de haberlos detectarlos, por eso este paso está después

sudo cp rozed/Otros/rozed.service  /etc/systemd/system/
sudo systemctl enable rozed
sudo systemctl start rozed

Yasta, con eso hecho Rozed ya deberia estar online...

Cuando termine pueden verla online en la ip donde esta alojada o en http://localhost

Añadir Medz y admins

Para hacer eso deben iniciar sesion como pepe, https://IpODominioDondeEstaRozed/login usuario: pepe contraseña: contraseña Luego ir a la seccion de administracion En la parte que dice equipo ponen el id o nick y cliquean agregar. Importante los mods y admins pueden banear a los otros mods y admins asi que tengan cuidado con la gente que pongan Los auxiliares son los serenitos, solo pueden moderar cuando el modo serenito esta activo

Configurar HCaptcha

Por defecto los captchas estan en modo de prueba, lo que los hace completamente inutiles. Para hacer que funcionen tienen que modificar los valores "SiteKey" y "Secret" en el archivo rozed/WebApp/appsettings.producion.json Esos datos los sacan creandose una cuenta en hcaptcha, https://docs.hcaptcha.com/ la documentacion lo explica.

Configurar hosteo de archivos en Telegram

Por defecto las imagenes y videos se guardan localmente en la carpeta /WebApp/Almacenamiento, si hay mucha actividad o el espacio de almacenamiento es muy limitado o el numero de roz por categorias es muy alto Rozed se quedaria sin espacio y chocaria, en la practica nunca paso pero es posible. Una forma de evitar esto es utilizar telegram para guardar los archivos, tambien garpa para mover la pagina se un server a otro sin tener que andar moviendo cantidad de gbs de archivos.

Una vez hecho esto deben editar el archivo de configuracion /WebApp/appsettings.development.json En usar telegram ponen true, en BotId y ChatId obviamente ponen el token del bot y la id del canal.

Personalizacion basica

El FrontEnd está hecho en svelte, ok? son archivos que contienen componentes del FrontEnd y combinan javascript, html y css.

Cambiar el nombre

Una manera facil de cambiar el nombre es usar la herramienta "buscar y remplazar" de algun editor de texto, y cambiar rozed por otro nombre.

Cambiar los colores

Para cambiar los colores hay que editar unas variables en el archivo /WebApp/wwwroot/css/site.css

Aplicar cambios sobre archivos svelte

Para que los cambios surtan efecto deben ubicarse enn la carpeta /FrontEndWeb y ejecutar el siguiente comando

npm run build
# o 
npm run dev
# para que los cambios se apliquen automaticamente

Personalizacion avanzada

Para cambiar la pagina en forma funcional y no solo estetica es necesario aprender las tecnologias con las que esta hecha, osea C#, ASP.NET Core y Svelte. Dejo algunos recursos utiles, son la documentacion oficial, la verdad estan super completas y garpan.

.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published