diff --git a/README.md b/README.md index df259e0f4..77ad7e6ed 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,45 @@ Part of that means that the API follows the HAL-JSON style. # Installation +## Using Docker Compose (recommended for development) + +Run docker compose: +``` + docker compose up +``` + +Navigate to `localhost:8090`. + +By default a collection of example datasets is loaded, and a local database is setup and initialized. +This behaviour can be changed with environment variables as described below. + +### Environment + +The following environment variables are useful for configuring a local development environment. + +* `DATABASE_URL`: the postgresql URL of the database the application should connect to. + The default is the `database` container in the compose file. +* `INITIALIZE_DB`: Initialize the database with django migrate and import schema's. Default `true`. +* `MOCK_DATA`: Fill the initialized database with autogenerated mock data. Default: `false`. +* `SCHEMA_URL`: URL of the dataset schemas. To use the production schemas set this to: + "https://schemas.data.amsterdam.nl/datasets/" + Default is the `schemas` container in the compose file. + +To connect to an authentication provider, setup the following environment variables: +* `OAUTH_CLIENT_ID`: The client id of the application +* `OAUTH_JWKS_URL`: The JWKS URL of the authentication provider. +* `OAUTH_URL`: The auth URL of the authentication provider. + +#### Example +A local setup using the production dataset schema's with mock data: +``` + export INITIALIZE_DB=true + export MOCK_DATA=true + export SCHEMA_URL="https://schemas.data.amsterdam.nl/datasets/" + compose up +``` + +## Without Docker Compose See the instructions at: These instructions can also be found in the ``dev-docs/source/howto/install.rst`` file.