First version of debian packge for oggui
parent
27bdcbf98b
commit
e7d99be6c2
|
@ -0,0 +1,5 @@
|
||||||
|
oggui (1.0) unstable; urgency=low
|
||||||
|
|
||||||
|
* Initial release.
|
||||||
|
|
||||||
|
-- Your Name <nicolas.arenas@qindel.com> Thu, 01 Jan 1970 00:00:00 +0000
|
|
@ -0,0 +1,9 @@
|
||||||
|
Package: oggui
|
||||||
|
Version: %%VERSION%%
|
||||||
|
Section: base
|
||||||
|
Priority: optional
|
||||||
|
Architecture: all
|
||||||
|
Depends: nginx , npm , nodejs
|
||||||
|
Maintainer: Nicolas Arenas <nicolas.arenas@qindel.com>
|
||||||
|
Description: Description of the ogcore package
|
||||||
|
This is a longer description of the ogcore package.
|
|
@ -0,0 +1,21 @@
|
||||||
|
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
|
Upstream-Name: ogcore
|
||||||
|
Source: <source URL>
|
||||||
|
|
||||||
|
Files: *
|
||||||
|
Copyright: 2023 Your Name <your.email@example.com>
|
||||||
|
License: GPL-3+
|
||||||
|
This package is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
.
|
||||||
|
This package is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
.
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this package; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||||
|
MA 02110-1301 USA.
|
|
@ -0,0 +1,40 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Asegurarse de que el usuario exista
|
||||||
|
USER="opengnsys"
|
||||||
|
HASH_FILE="/opt/opengnsys/oggui/var/lib/oggui/oggui.config.hash"
|
||||||
|
CONFIG_FILE="/opt/opengnsys/oggui/src/.env"
|
||||||
|
|
||||||
|
# Provisionar base de datos si es necesario en caso de instalación.
|
||||||
|
|
||||||
|
|
||||||
|
# Detectar si es una instalación nueva o una actualización
|
||||||
|
if [ "$1" = "configure" ] && [ -z "$2" ]; then
|
||||||
|
cd /opt/opengnsys/oggui/src/
|
||||||
|
npm install -g @angular/cli
|
||||||
|
npm install
|
||||||
|
/usr/local/bin/ng build --base-href=/ --output-path=dist/oggui --optimization=true --configuration=production --localize=false
|
||||||
|
cp -pr /opt/opengnsys/oggui/src/dist/oggui/browser/* /opt/opengnsys/oggui/browser/
|
||||||
|
md5sum "$CONFIG_FILE" > "$HASH_FILE"
|
||||||
|
ln -s /opt/opengnsys/oggui/etc/systemd/system/oggui.service /etc/systemd/system/oggui.service
|
||||||
|
systemctl daemon-reload
|
||||||
|
systemctl enable oggui
|
||||||
|
elif [ "$1" = "configure" ] && [ -n "$2" ]; then
|
||||||
|
cd /opt/opengnsys/oggui
|
||||||
|
echo "Actualización desde la versión $2"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Cambiar la propiedad de los archivos al usuario especificado
|
||||||
|
chown opengnsys:www-data /opt/opengnsys/
|
||||||
|
chown -R opengnsys:www-data /opt/opengnsys/oggui
|
||||||
|
# Install http server stuff
|
||||||
|
ln -s /opt/opengnsys/oggui/etc/nginx/oggui.conf /etc/nginx/sites-enabled/oggui.conf
|
||||||
|
# Reiniciar servicios si es necesario
|
||||||
|
# systemctl restart nombre_del_servicio
|
||||||
|
|
||||||
|
systemctl daemon-reload
|
||||||
|
systemctl restart nginx
|
||||||
|
|
||||||
|
exit 0
|
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
|
||||||
|
NGINX_FILE="/etc/nginx/sites-enabled/oggui.conf"
|
||||||
|
UNIT_FILE="/etc/systemd/system/oggui.service"
|
||||||
|
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
remove)
|
||||||
|
echo "El paquete se está desinstalando..."
|
||||||
|
# Aquí puedes hacer limpieza de archivos o servicios
|
||||||
|
if [ -L "$NGINX_FILE" ]; then
|
||||||
|
rm -f "$NGINX_FILE"
|
||||||
|
systemctl restart nginx
|
||||||
|
fi
|
||||||
|
if [ -L "$UNIT_FILE" ]; then
|
||||||
|
rm -f "$UNIT_FILE"
|
||||||
|
systemctl daemon-reload
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
purge)
|
||||||
|
echo "Eliminando configuración residual..."
|
||||||
|
;;
|
||||||
|
|
||||||
|
upgrade)
|
||||||
|
echo "Actualizando paquete..."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
|
@ -0,0 +1,15 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Asegurarse de que el usuario exista
|
||||||
|
USER="opengnsys"
|
||||||
|
HOME_DIR="/opt/opengnsys"
|
||||||
|
if id "$USER" &>/dev/null; then
|
||||||
|
echo "El usuario $USER ya existe."
|
||||||
|
else
|
||||||
|
echo "Creando el usuario $USER con home en $HOME_DIR."
|
||||||
|
useradd -m -d "$HOME_DIR" -s /bin/bash "$USER"
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
CONFIG_FILE="/opt/opengnsys/oggui/src/.env"
|
||||||
|
HASH_FILE="/opt/opengnsys/oggui/var/lib/oggui/oggui.config.hash"
|
||||||
|
APP_DIR="/opt/opengnsys/oggui/browser"
|
||||||
|
SRC_DIR="/opt/opengnsys/oggui/src"
|
||||||
|
COMPILED_DIR=$SRC_DIR/dist
|
||||||
|
NGINX_SERVICE="nginx"
|
||||||
|
|
||||||
|
# Verificar si el archivo de configuración cambió
|
||||||
|
if [ -f "$CONFIG_FILE" ] && [ -f "$HASH_FILE" ]; then
|
||||||
|
OLD_HASH=$(cat "$HASH_FILE")
|
||||||
|
NEW_HASH=$(md5sum "$CONFIG_FILE")
|
||||||
|
|
||||||
|
if [ "$OLD_HASH" != "$NEW_HASH" ]; then
|
||||||
|
echo "🔄 Cambios detectados en $CONFIG_FILE, recompilando Angular..."
|
||||||
|
cd "$SRC_DIR"
|
||||||
|
npm install -g @angular/cli
|
||||||
|
npm install
|
||||||
|
/usr/local/bin/ng build --base-href=/ --output-path=dist/oggui --optimization=true --configuration=production --localize=false
|
||||||
|
md5sum "$CONFIG_FILE" > "$HASH_FILE"
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo "No hay cambios en $CONFIG_FILE, no es necesario recompilar."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Archivo de configuración no encontrado o sin hash previo. No se recompilará."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Iniciar Nginx
|
||||||
|
systemctl restart "$NGINX_SERVICE"
|
|
@ -0,0 +1,19 @@
|
||||||
|
server {
|
||||||
|
listen 4200;
|
||||||
|
server_name localhost;
|
||||||
|
|
||||||
|
root /opt/opengnsys/oggui/browser;
|
||||||
|
index index.html;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
try_files $uri $uri/ /index.html;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Manejo de archivos estáticos
|
||||||
|
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
|
||||||
|
try_files $uri =404;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Configuración para evitar problemas con rutas de Angular
|
||||||
|
error_page 404 /index.html;
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Aplicación Angular con Nginx
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/opt/opengnsys/oggui/bin/start-oggui.sh
|
||||||
|
Restart=always
|
||||||
|
User=www-data
|
||||||
|
WorkingDirectory=/var/www/mi-aplicacion
|
||||||
|
Environment=NODE_ENV=production
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
|
@ -0,0 +1 @@
|
||||||
|
986d3c82e05e6ac6d5355aafa1f65148 .env
|
Loading…
Reference in New Issue