Usage tips

This page provides overall tips for using of the OMS system, with the aim of reducing frustration and increasing productivity!

General

Docker

'bash ./oms.sh' and 'docker-compose'

Currently `bash ./oms.sh` pretty much equals `docker-compose` (oms.sh is a helper script that loads several docker-compose.yml files and combines them using the '-f' option, when running it you can see the full command)


Useful commands:

  • `bash ./oms.sh up -d`
    • Start the system in detached mode - no endless log in the terminal.
  • `bash ./oms.sh down -v`
    • (Gracefully) stop the system, `-v` specifies that the volumes (data) of the containers should be removed as well
  • `docker ps -a`
    • Show (`-a` for all) running containers
  • `bash ./oms.sh logs [container-name]`
    • Show the logs of a specific container, leave empty for all logs
  • `bash ./oms.sh run [container-name] bash`
    • 'Enter' the container using bash.

You can also use `docker help`, `docker-compose help` to get more help and see the other commands.

docker vs docker-compose

`docker` works system wide, `docker-compose` works from a folder with a `docker-compose.yml` file (for oms-docker this is `oms-docker/docker`)

Helper scripts

oms-docker/deploy.sh

This script is designed to aid deployment on a public (production) server, having the ability to quickly install the newest version while retaining environment variables. Simply move the file one level above the oms-docker installation and call it using `bash deploy.sh`


OMS-Core

Log in onto the core container (from `../oms-docker/docker`):

`docker-compose run omscore bash`

Useful commands inside the container:

  • `php artisan help`
  • `php artisan migrate:refresh --seed`
    • Re-migrates the database (rebuilds) and automatically seeds it afterwards. Useful to reset all the data.
  • `php artisan config:cache`
    • Updates the cache that is stored for the config, required after every modification of a file inside the config folder (and the .env file)
  • `composer dump-autoload`
    • Clears the autoload caching of composer, useful if you are having problems with PHP finding classes.
  • `composer update`
    • Updates the composer dependencies, useful if there is a dependency problem.

Then a final trick, after updating services for laravel (adding them to `config/app.php`) it is sometimes required to delete the services.php file inside the `storage/bootstrap` directory.