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.
* 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
(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