1. Clonar el repositorio de Laradock
Primero, clona el repositorio de Laradock desde GitHub:
git clone https://github.com/Laradock/laradock
2. Mover Laradock a la carpeta del proyecto
Ubica el directorio laradock al mismo nivel que tu carpeta de proyecto Laravel. La estructura de directorios debería quedar así:
/finance-app-back
/finance-appp
/laradock
3. Configurar la versión de PHP
En el archivo .env dentro de Laradock, verifica y ajusta la versión de PHP que tu proyecto necesita. Puedes hacerlo modificando la variable PHP_VERSION según tus necesidades.
4. Configurar Nginx
Navega a la carpeta laradock/nginx/sites y copia un archivo de configuración de ejemplo para tu nuevo proyecto. Puedes hacerlo con:
cp laravel.conf.example finance-api.conf
Edita el archivo recién creado:
Cambia server_name por el dominio que usarás (por ejemplo,finance-api.net). Cambia la ruta de root por la carpeta de tu proyecto Laravel, algo similar a:
root /var/www/myproject/public;
5. Configurar Docker Desktop
Asegúrate de tener Docker Desktop instalado y funcionando.
6. Iniciar contenedores con Docker Compose
Asegurate de abrir Docker Desktop antes de este paso. Dependiendo de la base de datos que quieras utilizar, ejecuta uno de los siguientes comandos para levantar los contenedores:
docker-compose up -d --build nginx mysql
Para PostgreSQL:
docker-compose up -d --build nginx postgres
7. Ingresar al contenedor
Una vez levantados los contenedores, ingresa al contenedor workspace con el siguiente comando:
docker-compose exec workspace bash
8. Crear el proyecto Laravel
Dentro del contenedor, ejecuta el siguiente comando para crear un nuevo proyecto Laravel (ajusta finance-api al nombre de tu proyecto):
composer create-project --prefer-dist laravel/laravel finance-api
9. Configurar el archivo hosts
En tu máquina local (fuera del contenedor), abre el archivo de hosts y agrega el dominio que declaraste en el archivo Nginx, algo como:
127.0.0.1 finance-api.net
Guarda los cambios.
10. Instalar dependencias en Laravel
Una vez que hayas creado el proyecto Laravel, navega a la carpeta del proyecto y copia el archivo .env:
cp .env.example .env
Luego instala las dependencias de Composer:
composer install
11. Configurar la base de datos en Laravel
En el archivo .env de tu proyecto Laravel, actualiza las variables de conexión de base de datos para que se correspondan con la configuración de Laradock. Por ejemplo, para PostgreSQL:
DB_CONNECTION=pgsql
DB_HOST=postgres
DB_PORT=5432
DB_DATABASE=financedb
DB_USERNAME=default
DB_PASSWORD=secret
Puedes revisar la configuración desde el .env de laradock
Asegúrate de que el nombre de la base de datos (DB_DATABASE) sea el mismo que crearás en el siguiente paso.
12. Crear la base de datos
Ingresa al contenedor de PostgreSQL y crea la base de datos:
docker-compose exec postgres bash
psql -U default
create database financedb;
exit
13. Ejecutar migraciones y seeders
Ejecuta las migraciones y genera el seed del proyecto dentro de la consulta bash, ingresando a la carpeta del proyecto laravel:
php artisan key:generate
php artisan migrate
14. Acceder a la aplicación en el navegador
Abre tu navegador y accede a la aplicación usando el dominio que configuraste, por ejemplo:
http://finance-api.net
¡Listo! Tu aplicación Laravel ahora debería estar funcionando correctamente con Laradock y Docker.