Each Laravel application must have a secret key that is used to encrypt and decrypt passwords, cookies, etc. Generate one by running the following command:
Create the Database and add the details to the .env file
The Manager API is built around a central database and one separate database for each partner. You only need to create the central database. The default name should be manager but you are free to choose any name you want. Run the following command from the MySQL command line (or your MySQL client) to create the database:
Next, open the .env file and replace the database details with your valid details.
Since the database is running on your machine and the API in a Docker container, you need to be able to access the host of your machine from the docker container. For macOS this can be done using host.docker.internal
Set the session driver
The API is using Laravel Sanctum for authentication which requires a cookie session driver. Open the .env file and change the session driver:
Running the migrations
At this point, if the database details are ok, you should be able to run the migrations. To do so, execute the following command:
This will create all the required tables in the main database.
Starting and stopping the container
In order to have the API running, you must start the container. To do so, run:
In order to stop the container, run:
Port binding
By default, the docker container binds the port 80 on your machine. This means that you can access the API by using the URL localhost:80 . Often, this port is already taken by something else (the frontend instance for example). In order to solve the problem, from the docker-compose.yml file you can bind any port you want. As an example, let's bind the port 8084 (line 13)
After that change, you are able to access the API via the URL localhost:8084