> For the complete documentation index, see [llms.txt](https://docs.navigaglobal.com/everyware/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.navigaglobal.com/everyware/everyware-starter-kit/makefile.md).

# Makefile

We have a Makefile that can be used to handle docker commands and other utilities. This section covers the available commands and how to use it.

## Usage

```bash
make [command]
```

Some commands like `composer`, `npm` or `gulp` offers a way to run commands through a docker container. In these cases any following "make commands" will be used as part of the arguments sent to its respective command.

Running `make composer install` will in turn trigger:

```bash
docker run <php-fpm_container> composer install
```

Running `make npm install` will in turn trigger:

```bash
docker run <navigaweb-node-builder_container> npm install
```

## Commands

| Name                 | Description                                                                        |
| -------------------- | ---------------------------------------------------------------------------------- |
| alt-composer         | Offers a way to run the project with an alternative composer config.               |
| build                | Will run [docker-compose build](https://docs.docker.com/compose/reference/build/)  |
| build-start          | Will run ***build*** and ***start*** in sequential order                           |
| composer             | Will run the `composer <args>` command using the currently set *php-fpm* container |
| init                 | Kick start the project and install all you need                                    |
| luarocks             | Install all lua dependencies.                                                      |
| mysql-switch-startup | Will switch the current startup.sql file with the one chosen by the prompt         |
| mysql-dump           | Dump content from current MYSQL container                                          |
| mysql-remove         | Removes the MySQL container.                                                       |
| mysql-restore        | Restore a given MySQL dump file                                                    |
| npm                  | Will run the `npm <args>` command using the *navigaweb-node-builder* container     |
| gulp                 | Will run the `gulp <args>` command using the *navigaweb-node-builder* container    |
| nginx-restart        | Will restart the nginx in openresty container                                      |
| prod-init            | Run **init** in production mode                                                    |
| pull                 | Download latest version of Docker containers                                       |
| redis-flush          | Flush redis container (e.i remove all keys)                                        |
| remove               | Removes all containers except MySQL                                                |
| restart              | Restarts all Docker containers for project                                         |
| restart-full         | Will run ***stop**, **remove**, **pull**, **start*** in sequential order           |
| self-update          | Upgrade project **StarterKit** standard to latest version                          |
| stage-init           | Run **init** in stage mode                                                         |
| start                | Starts all Docker containers for project                                           |
| stop                 | Stops all Docker containers for project                                            |
| wp-install           | Install WordPress                                                                  |
| wp-remove            | Remove the part of WordPress that should not be versioned                          |
| wp-update-salt       | Updates WordPress salt                                                             |

{% hint style="info" %}
Read more about what a Makefile is [here](https://opensource.com/article/18/8/what-how-makefile)
{% endhint %}
