# Estructura inicial del proyecto ```bash gitea-rc4 $ tree -a . ├── docker-compose.override.yml ├── docker-compose.yml └── .env ``` _Nota autor:_ algunos datos en este documento pueden estar ofuscados. ## Configuración y ejecución de los contenedores Docker ### Configuración autenticación ssh - Docker Shell (with authorized_keys) _Referencia principal:_ [Installation with Docker](https://docs.gitea.com/installation/install-with-docker#docker-shell-with-authorized_keys) - Docker Shell (with authorized_keys). ### Configuración de la aplicación y usario de Gitea En el host motor de Docker se realizan las siguientes tareas de configuración. Estas son: ``` source .env export CONTAINER_NAME GITEA_ACCOUNT GITEA_UID GITEA_GID sudo groupadd -g ${GITEA_UID} ${GITEA_ACCOUNT} sudo useradd -u ${GITEA_UID} -g ${GITEA_GID} -G docker -d /home/${GITEA_ACCOUNT} ${GITEA_ACCOUNT} #sudo usermod -G docker -a ${GITEA_ACCOUNT} sudo -u ${GITEA_ACCOUNT} ssh-keygen -t rsa -b 4096 -C "Gitea Host Key" sudo -u ${GITEA_ACCOUNT} cat /home/${GITEA_ACCOUNT}/.ssh/id_rsa.pub | sudo -u ${GITEA_ACCOUNT} tee -a /home/${GITEA_ACCOUNT}/.ssh/authorized_keys sudo -u ${GITEA_ACCOUNT} chmod 600 /home/${GITEA_ACCOUNT}/.ssh/authorized_keys cat <` e instalar Gitea ![Gitea - instalación](images/gitea-install.png) ## Registrar usuario y copiar credenciales En esta sección se registra un usuario y se copia su clave pública. ### Registrar usuario ![Gitea - registrar usuario](images/gitea-register-account.png) ### Usuario logado - setting ![Account user - settings](images/gitea-account-settings.png) #### Setting - copiar clave pública ![Account user - add key](images/gitea-add-key.png) ### Utilización de Gitea En las siguientes capturas se muestran ejemplo como copiar/clonar dos repositorios que el usuario `userdevel1`. Uno mediante el URL sobre `http` y el otro mediante `ssh`. - `git clone http://almalinux9-docker:3000/usrdevel1/repositorio1.git` ![git clone http](images/git-gitea-clone-w-http.png) - `git clone git@almalinux9-docker:usrdevel1/repo-2.git` ![git clone ssh](images/git-gitea-clone-w-ssh.png) ## Otros comandos - Ver los logs ```bash docker-compose logs -f ``` ## Resumen: explicación de la configuración - .env - Centraliza las credenciales y configuraciones sensibles. - `docker-compose.yml` - Define los servicios principales, como Postgres y Gitea (Nginx), con configuraciones básicas, en contenedores separados. - `docker-compose.override.yml` - Extiende o reemplaza configuraciones para propósitos específicos, como desarrollo o debug. - Volúmenes - La base de datos de Postgres en ubica en `...data/postgres`. - El servicio o aplicación Gitea se persiste en `...data/gitea`. - También se utilizan otros volumenes, como el de las credenciales.