README.md 2.16 KB
Newer Older
1 2 3
# Application mapper
[![build status](https://gitlab.com/hgraca/app-mapper/badges/master/build.svg)](https://gitlab.com/hgraca/app-mapper/commits/master)
[![coverage report](https://gitlab.com/hgraca/app-mapper/badges/master/coverage.svg)](https://gitlab.com/hgraca/app-mapper/commits/master)
4

5
This is a CLI static analysis tool to draw an application map, which is similar to a application map but more exact and detailed.
Herberto Graca's avatar
Herberto Graca committed
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

## Container

All commands in the Makefile are setup to run inside the container, except for the commands used by the CI as it has 
its own process to run them inside a container.

The container is NOT production ready. 

You should tweak it to what you need in production, and have another container (based on the production one) 
for dev and ci environments. 

Furthermore, while the dev container should work with shared volumes for the code to be shared between guest and host, 
the production container should contain the actual code, and only the code needed for production, so no tests and no 
dev and test dependencies.

One of the things you should change, for example, is removing xdebug from your production container.
(The less packages in the container, the less chance of bugs that allow a hacker to break in)

The container used is created using the files:

```bash
  build
    dockerfile
    php.ini
    xdebug.ini
```

### Build a new container

If you need changes in the container, you can edit the dockerfile and run:

```bash
  make box-build
```

### Upload the new container to docker hub

When you have a new container, you can push it to docker hub by running:

```bash
  make box-push
```

### php.ini

The only change to the default php.ini is the `memory_limit`, which is set to `1024M` 
so that xdebug runs with less chances of reaching the memory limit.

Feel free to change this to whatever you find reasonable for your production environment.

### Xdebug

By default, xdebug is disabled. 

If you want to enable it, you just need to uncomment the first line in the xdebug.ini file.

You might also need to change the
  - `xdebug.remote_host` to whatever IP your host machine has;
  - `xdebug.idekey` to whatever is the key used by your xdebug client.