2
0
mirror of https://github.com/VinylDNS/vinyldns synced 2025-08-22 02:02:14 +00:00
vinyldns/quickstart
..
2021-10-27 13:43:21 -04:00
2022-05-18 08:58:08 -04:00
2022-05-17 16:23:45 -04:00
2022-05-16 14:33:12 -04:00

VinylDNS QuickStart

To get started with VinylDNS, you can experiment with the QuickStart.

QuickStart utilizes Docker Compose to start up the VinylDNS API and Portal along with required dependencies such as:

  • MySQL
  • OpenLDAP
  • SQS
  • SNS
  • BIND 9

Running

To run the QuickStart, you will need the following prerequisites:

  • Docker
  • Docker Compose

From a shell in the quickstart/ directory, simply run:

./quickstart-vinyldns.sh

The quickstart-vinyldns.sh script takes a number of optional arguments:

Flag Description
-a, --api start the API, but not the Portal and its dependencies (e.g., LDAP)
-b, --build force a rebuild of the Docker images with the local code
-c, --clean stops all VinylDNS containers and exits
-d, --deps start up the dependencies, but not the API or Portal
-sh, --shell loads the .env file into a new BASH shell. The .env file can be overridden with -e
-e, --env-file specifies the suffix of the .env file (relative to the docker-compose file) to load (e.g., 'dev' - to load '.env.dev')
-r, --reset stops any the running containers before starting new containers
-s, --service specify the service to run
-t, --timeout the time to wait (in seconds) for the Portal and API to start (default: 60)
-u, --update remove the local quickstart images to force a rebuild
-v, --version-tag specify Docker image tag version (default: latest)

Environment Settings

You can control which environment variables are loaded by using the --env-file flag. All .env.* files are ignored by git and won't run the risk of being committed.

It's important to note that due to the way that docker-compose works, the custom .env.* should be in the same directory as the docker-compose file. In this case, that would be the quickstart/ directory.

You can even create a new shell with the environment variables loaded.

Let's say you have a .env.dev file in the quickstart/ directory. You can load those variables into a new shell with

$ ./quickstart/quickstart.sh -sh --env-file dev # To load .env.dev just specify the suffix - dev
Please wait.. creating a new shell with the environment variables set.
To return, simply exit the new shell with 'exit' or ^D.
$

With these setting loaded you can now run, for example, sbt locally and VinylDNS will pull in all of those values.