feat: Botón Guardar Todo en conceptos y mejoras Docker
Cambios realizados: - concept_view.php: Agregado botón 'Guardar Todo' arriba y abajo de la tabla, eliminado botón individual por fila - dashboard.php: Agregado endpoint save_all_concept_payments para guardar múltiples pagos - docker-entrypoint.sh: Corregidos permisos de volúmenes para ZimaOS/CasaOS (cambia dueño a www-data) - docker/Dockerfile: Corregida ruta del entrypoint - build-and-push.sh: Script interactivo para crear imagen Docker con opción de caché/sin caché Los cambios permiten guardar todos los pagos de conceptos de una sola vez y mejoran la compatibilidad con despliegues en ZimaOS.
This commit is contained in:
121
docker/registry/comandos_actualizar_grub.txt
Executable file
121
docker/registry/comandos_actualizar_grub.txt
Executable file
@@ -0,0 +1,121 @@
|
||||
COMANDOS PARA ACTUALIZAR GRUB DESPUÉS DE ELIMINAR WINDOWS
|
||||
========================================================
|
||||
|
||||
COMANDOS PARA EJECUTAR DESDE LIVE CD/UBUNTU LIVE
|
||||
================================================
|
||||
|
||||
PASO 1: IDENTIFICAR PARTICIÓN DE UBUNTU
|
||||
--------------------------------------
|
||||
sudo fdisk -l
|
||||
|
||||
Busca tu partición Linux (probablemente sda5 con formato ext4)
|
||||
|
||||
PASO 2: MONTAR PARTICIÓN DE UBUNTU
|
||||
----------------------------------
|
||||
sudo mkdir /mnt/ubuntu
|
||||
sudo mount /dev/sda5 /mnt/ubuntu
|
||||
|
||||
PASO 3: MONTAR PARTICIONES NECESARIAS PARA CHROOT
|
||||
---------------------------------------------------
|
||||
sudo mount /dev/sda1 /mnt/ubuntu/boot/efi # Partición EFI
|
||||
sudo mount --bind /dev /mnt/ubuntu/dev
|
||||
sudo mount --bind /proc /mnt/ubuntu/proc
|
||||
sudo mount --bind /sys /mnt/ubuntu/sys
|
||||
sudo mount --bind /run /mnt/ubuntu/run
|
||||
|
||||
PASO 4: ACTIVAR SWAP (si es necesario)
|
||||
-------------------------------------
|
||||
sudo swapon /dev/sda6
|
||||
|
||||
PASO 5: ENTRAR AL SISTEMA UBUNTU (CHROOT)
|
||||
-----------------------------------------
|
||||
sudo chroot /mnt/ubuntu
|
||||
|
||||
AHORA DENTRO DE TU SISTEMA UBUNTU (ya no estás en Live CD):
|
||||
=========================================================
|
||||
|
||||
PASO 6: ACTUALIZAR CONFIGURACIÓN DE GRUB
|
||||
---------------------------------------
|
||||
update-grub
|
||||
|
||||
Este comando buscará sistemas operativos y eliminará las entradas de Windows.
|
||||
|
||||
PASO 7: REINSTALAR GRUB EN EL DISCO
|
||||
------------------------------------
|
||||
grub-install /dev/sda
|
||||
|
||||
Esto reinstala GRUB correctamente después de los cambios de partición.
|
||||
|
||||
PASO 8: VERIFICAR CONFIGURACIÓN
|
||||
-------------------------------
|
||||
grub-mkconfig -o /boot/grub/grub.cfg
|
||||
|
||||
PASO 9: SALIR DEL CHROOT
|
||||
------------------------
|
||||
exit
|
||||
|
||||
PASO 10: DESMONTAR TODO CORRECTAMENTE
|
||||
-------------------------------------
|
||||
sudo umount -R /mnt/ubuntu
|
||||
sudo swapoff /dev/sda6
|
||||
|
||||
PASO 11: REINICIAR EL SISTEMA
|
||||
-----------------------------
|
||||
reboot
|
||||
|
||||
COMANDOS DE VERIFICACIÓN (OPCIONAL)
|
||||
==================================
|
||||
|
||||
PARA VERIFICAR ANTES DE REINICIAR (desde Live CD):
|
||||
-------------------------------------------------
|
||||
|
||||
1. Verificar particiones montadas:
|
||||
mount | grep /mnt/ubuntu
|
||||
|
||||
2. Verificar que se montó todo correctamente:
|
||||
ls -la /mnt/ubuntu/boot/efi
|
||||
|
||||
3. Verificar GRUB desde chroot:
|
||||
(chroot) dpkg -l | grep grub
|
||||
|
||||
TROUBLESHOOTING DESDE LIVE CD
|
||||
=============================
|
||||
|
||||
SI EL MONTAJE FALLA:
|
||||
-------------------
|
||||
- Intenta: sudo fsck -f /dev/sda5
|
||||
- Verifica que /dev/sda5 sea la partición correcta con: sudo blkid
|
||||
|
||||
SI CHROOT NO FUNCIONA:
|
||||
---------------------
|
||||
- Verifica que todas las monturas estén correctas:
|
||||
sudo mount | grep /mnt/ubuntu
|
||||
- Intenta montar /dev/pts también:
|
||||
sudo mount --bind /dev/pts /mnt/ubuntu/dev/pts
|
||||
|
||||
SI GRUB-INSTALL FALLA:
|
||||
--------------------
|
||||
- Intenta: grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu /dev/sda
|
||||
- O si usas BIOS: grub-install --target=i386-pc /dev/sda
|
||||
|
||||
SI UPDATE-GRUB NO DETECTA EL KERNEL:
|
||||
-----------------------------------
|
||||
- Desde chroot: apt update && apt install linux-image-generic
|
||||
|
||||
NOTAS CRÍTICAS PARA LIVE CD
|
||||
===========================
|
||||
|
||||
- TODOS los comandos PASOS 1-5 se ejecutan en Live CD
|
||||
- Los comandos PASOS 6-8 se ejecutan DENTRO del chroot
|
||||
- Si no estás seguro de la partición, ejecuta: sudo lsblk -f
|
||||
- La partición EFI siempre es /dev/sda1 (100MB)
|
||||
- Tu partición Linux debería ser /dev/sda5 después de redimensionar
|
||||
- Asegúrate de tener internet antes del chroot: sudo dhclient
|
||||
|
||||
VERIFICACIÓN FINAL
|
||||
=================
|
||||
|
||||
Después de reiniciar en Ubuntu normal, ejecuta:
|
||||
lsblk
|
||||
df -h
|
||||
grub-editenv list
|
||||
112
docker/registry/como_subir_imagenes.txt
Executable file
112
docker/registry/como_subir_imagenes.txt
Executable file
@@ -0,0 +1,112 @@
|
||||
COMO SUBIR IMÁGENES A DOCKER REGISTRY
|
||||
=====================================
|
||||
|
||||
1. ETIQUETAR LA IMAGEN
|
||||
---------------------
|
||||
Para subir una imagen al registry local, primero debes etiquetarla:
|
||||
|
||||
docker tag <nombre-imagen>:<tag> localhost:5000/<nombre-imagen>:<tag>
|
||||
|
||||
Ejemplo:
|
||||
docker tag mi-app:latest localhost:5000/mi-app:latest
|
||||
|
||||
2. SUBIR LA IMAGEN AL REGISTRY
|
||||
------------------------------
|
||||
Una vez etiquetada, sube la imagen:
|
||||
|
||||
docker push localhost:5000/<nombre-imagen>:<tag>
|
||||
|
||||
Ejemplo:
|
||||
docker push localhost:5000/mi-app:latest
|
||||
|
||||
3. VERIFICAR QUE LA IMAGEN ESTÁ EN EL REGISTRY
|
||||
----------------------------------------------
|
||||
Puedes verificar las imágenes en el registry usando:
|
||||
|
||||
curl -X GET http://localhost:5000/v2/_catalog
|
||||
|
||||
O accediendo a la UI web en: http://localhost:8081
|
||||
|
||||
4. DESCARGAR LA IMAGEN DESDE EL REGISTRY
|
||||
----------------------------------------
|
||||
Para descargar la imagen desde el registry:
|
||||
|
||||
docker pull localhost:5000/<nombre-imagen>:<tag>
|
||||
|
||||
Ejemplo:
|
||||
docker pull localhost:5000/mi-app:latest
|
||||
|
||||
COMO SUBIR ACTUALIZACIONES DE LA IMAGEN
|
||||
======================================
|
||||
|
||||
1. HACER CAMBIOS A TU IMAGEN
|
||||
----------------------------
|
||||
Realiza los cambios necesarios en tu Dockerfile o código fuente.
|
||||
|
||||
2. CONSTRUIR LA NUEVA VERSIÓN
|
||||
------------------------------
|
||||
Construye la nueva versión de la imagen:
|
||||
|
||||
docker build -t <nombre-imagen>:<nuevo-tag> .
|
||||
|
||||
Ejemplo con versión:
|
||||
docker build -t mi-app:v2.0 .
|
||||
|
||||
O si quieres mantener el mismo tag:
|
||||
docker build -t mi-app:latest .
|
||||
|
||||
3. ETIQUETAR PARA EL REGISTRY
|
||||
------------------------------
|
||||
Etiqueta la nueva versión para el registry:
|
||||
|
||||
docker tag <nombre-imagen>:<tag> localhost:5000/<nombre-imagen>:<tag>
|
||||
|
||||
Ejemplo:
|
||||
docker tag mi-app:v2.0 localhost:5000/mi-app:v2.0
|
||||
|
||||
4. SUBIR LA ACTUALIZACIÓN
|
||||
-------------------------
|
||||
Sube la nueva versión al registry:
|
||||
|
||||
docker push localhost:5000/<nombre-imagen>:<tag>
|
||||
|
||||
Ejemplo:
|
||||
docker push localhost:5000/mi-app:v2.0
|
||||
|
||||
5. VERIFICAR LA ACTUALIZACIÓN
|
||||
-----------------------------
|
||||
Verifica que la nueva versión esté disponible:
|
||||
|
||||
curl -X GET http://localhost:5000/v2/<nombre-imagen>/tags/list
|
||||
|
||||
Ejemplo:
|
||||
curl -X GET http://localhost:5000/v2/mi-app/tags/list
|
||||
|
||||
NOTAS IMPORTANTES
|
||||
================
|
||||
|
||||
- Siempre verifica que la imagen se construyó correctamente antes de subirla
|
||||
- Puedes mantener múltiples versiones usando diferentes tags (v1.0, v1.1, v2.0, etc.)
|
||||
- El tag 'latest' siempre apuntará a la última versión que subas con ese tag
|
||||
- Para eliminar imágenes antiguas del registry, necesitarás usar la API de eliminación
|
||||
- La UI web en http://localhost:8081 te permite ver todas las imágenes y sus tags
|
||||
|
||||
EJEMPLO COMPLETO DE WORKFLOW
|
||||
============================
|
||||
|
||||
# 1. Construir imagen
|
||||
docker build -t mi-app:1.0 .
|
||||
|
||||
# 2. Etiquetar para registry
|
||||
docker tag mi-app:1.0 localhost:5000/mi-app:1.0
|
||||
|
||||
# 3. Subir a registry
|
||||
docker push localhost:5000/mi-app:1.0
|
||||
|
||||
# 4. Para actualizar
|
||||
docker build -t mi-app:1.1 .
|
||||
docker tag mi-app:1.1 localhost:5000/mi-app:1.1
|
||||
docker push localhost:5000/mi-app:1.1
|
||||
|
||||
# 5. Verificar
|
||||
curl http://localhost:5000/v2/mi-app/tags/list
|
||||
29
docker/registry/docker-compose.yml
Executable file
29
docker/registry/docker-compose.yml
Executable file
@@ -0,0 +1,29 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
docker-registry:
|
||||
image: registry:2.8.3
|
||||
container_name: docker-registry
|
||||
ports:
|
||||
- "5000:5000"
|
||||
environment:
|
||||
- REGISTRY_HTTP_HEADERS_Access-Control-Allow-Origin=[http://localhost:8081]
|
||||
- REGISTRY_HTTP_HEADERS_Access-Control-Allow-Methods=[HEAD,GET,OPTIONS,DELETE]
|
||||
- REGISTRY_HTTP_HEADERS_Access-Control-Allow-Credentials=[true]
|
||||
- REGISTRY_HTTP_HEADERS_Access-Control-Allow-Headers=[Authorization,Accept,Origin,Destination,Content-Type,Docker-Content-Digest]
|
||||
- REGISTRY_HTTP_HEADERS_Access-Control-Expose-Headers=[Docker-Content-Digest]
|
||||
volumes:
|
||||
- ./data:/var/lib/registry
|
||||
restart: unless-stopped
|
||||
|
||||
registry-ui:
|
||||
image: joxit/docker-registry-ui:latest
|
||||
container_name: registry-ui
|
||||
ports:
|
||||
- "8081:80"
|
||||
environment:
|
||||
- REGISTRY_URL=http://docker-registry:5000
|
||||
depends_on:
|
||||
- docker-registry
|
||||
restart: unless-stopped
|
||||
|
||||
11
docker/registry/registry-ui-only.yml
Executable file
11
docker/registry/registry-ui-only.yml
Executable file
@@ -0,0 +1,11 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
registry-ui:
|
||||
image: joxit/docker-registry-ui:latest
|
||||
container_name: registry-ui
|
||||
ports:
|
||||
- "8081:80"
|
||||
environment:
|
||||
- REGISTRY_URL=http://localhost:5000
|
||||
restart: unless-stopped
|
||||
Reference in New Issue
Block a user