This page provides overall tips for using of the OMS system, with the aim of reducing frustration and increasing productivity!
General
- Check out the Microservice overview page for the API of each microservice!
- Check out the Design page to get a general understanding of the system
Docker
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, 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 is a great tool used with Laravel, read more about it on the official Laravel website.
- `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.