Configuration is done via environemnt variables.
For local dev they are stored in .env
file in repo root, for local docker build in build/local/.env
PROJECT
- project name, used for dockerSERVER_PORT
- rest api http server port
For local dev also:
APP_ENV=local
- so that app not runs inproduction
config, e.g. removed debug logs, endpoints, etc.
For integration tests:
SERVER_URL
- url of rest api http server to be tested
src.Dockerfile
- creates base image with src and dependencies, used bybuild
andint
build.Dockerfile
- builds app imageint.Dockerfile
- builds integration tests image
Docker compose files are located in build
directory:
docker-compose.yml
- contains the applicationdocker-compose.dependencies.yml
- contains local dependencies to be substitued by infrastructure on providerdocker-compose.integration.yml
- contains integration tests docker container
- docker, docker-compose
- make
- git
- curl (optional)
- https://docs.docker.com/docker-for-windows/install/
- http://gnuwin32.sourceforge.net/packages/make.htm
- https://git-scm.com/
- https://curl.haxx.se/windows/
or using chocolatey:
choco install docker-desktop make git curl
or using scoop
scoop install docker make git curl
To install dependencies for local dev: make deps
To build and run locally:
make dev
To run locally with hot reload:
make dev-hot
To build docker image: