Add instalation config.

This commit is contained in:
kj 2025-04-24 13:58:57 -03:00
parent 185132a409
commit 575f0e3629

View File

@ -5,9 +5,82 @@ Este contenedor tiene el objetivo de proveer un contenedor que facilite tener un
Debo resaltar el hecho de que es de *DESARROLLO* puesto que en esta configuración priorizo mostrar errores fácilmente, evitar algunos otros que requieren configuraciones extra y en general facilitar el uso en la etapa de desarrollo. Po lo mismo, no recomiendo el uso de este contenedor en entornos de producción. Debo resaltar el hecho de que es de *DESARROLLO* puesto que en esta configuración priorizo mostrar errores fácilmente, evitar algunos otros que requieren configuraciones extra y en general facilitar el uso en la etapa de desarrollo. Po lo mismo, no recomiendo el uso de este contenedor en entornos de producción.
* Requerimientos
- Docker / podman
En caso de usar podman, también se necesitara podman-compose y también puedo recomendar tener podman-docker. También puede que sea necesario reiniciar el ordenador justo luego de instalar para que inicien correctamente los controladores que requieren los contenedores.
** Rootless
En caso de usarlo en formato rootless (sin sudo por delante, para los neofitos), que suele ser la manera usual y más cómoda hoy en día, también es necesario permitir que los usuarios que no son root puedan bindear el puerto 80. Para ello, camos a corret este comando:
#+begin_src bash
sudo sysctl net.ipv4.ip_unprivileged_port_start=80
#+end_src
Con esto sólo vamos a tener habilitado el pueto 80 hasta reinciar el PC, para hacerlo permamente hay que editar el archivo =/etc/sysctl.d/99-sysctl.conf= o el archivo =/etc/sysctl.conf= para algunas otras distros y añadimos al final esta línea:
#+begin_src
net.ipv4.ip_unprivileged_port_start=80
#+end_src
Y con eso ya se podría usar el puerto 80 como rootless, hasta que el servidor se reinicie.
* Instalación * Instalación
(documentación pendiente...) Solo es necesario correr:
#+begin_src bash
docker compose up -d
#+end_src
O en caso de usar podman también se puede usar:
#+begin_src bash
podman compose up -d
#+end_src
Puede que en distros con paquetería muy vieja (Debian 12 o inferiores) sea necesario instalar podman-compose desde pip para tener la última versión (obtienes mejor compatibilidad) y el comando debe ser =podman-compose= (guión en lugar de espacio).
** Iniciar/Detener contenedor
Luego de "instalado", puedes solo iniciar el contenedor o detenerlo usando los comandos usuales de podman/docker
#+begin_src bash
# Con Docker
docker start nginx # Inicia el contendor
docker stop nginx # Detiene el contenedor
# Con podman
podman start nginx # Inicia el contendor
podman stop nginx # Detiene el contenedor
#+end_src
** Desinstalar
En caso de que quieras eliminar los contenedores
#+begin_src bash
docker compose down
#+end_src
o si tienes podman:
#+begin_src bash
podman compose down
#+end_src
** Mover/Copiar con datos persistentes
Debido a que la carpeta mysql termina bajo otro nombre de usuario distintos, antes de copiar/mover los archivos, es necesario primero cambiar eso a nuestro usuario o nos dará error:
#+begin_src bash
sudo chown -R $USER:$USER data/mysql/
#+end_src
Luego de eso solo es copiar/mover los archivos y volver a correr los comandos de instalación.
* Características * Características