Sourcetoad Internal Development Tools includes a growing collection of tutorials for managing IDEs, hooking up tools with Docker and any combination of those things.
Additionally, this repository holds our data source services which is a collection of databases and other services that projects will more than likely need. It also provides a proxy setup via nginx-proxy so that multiple projects can be run at the same time without the need for different ports.
This means docker configurations for each project only needs to worry about the the language and other tools it may need, as the databases and other services are standardized in this project. Since most cloud providers provide managed versions of these services, you likely would not use a docker version of them in production.
- Execute
git clone git@github.com:sourcetoad/DevopsToolKit.git devop-tools
cd devop-tools
cd ./docker/data-source-services/
- Execute
./network-creation.sh
- If this fails, then manual configuration is necessary before compilation. Perform the following:
docker network create st-internal
- Execute
docker-compose up --build
- If you're in a Windows environment, then perform the following if your build fails:
- Kill, and optionally disable, the
World Wide Web Publishing Service
. - Run
set COMPOSE_CONVERT_WINDOWS_PATHS=1
in your CMD or PowerShell terminal. - Redo step
5
or follow more detailed steps here.
- Kill, and optionally disable, the
- Wait for the terminal to complete executing.
- You now have Sourcetoad data sources running and logging to the console.
- Optionally included is the following tools:
- phpMyAdmin
cd devop-tools
cd ./docker/data-source-tools/
- Execute
docker-compose up --build
- Wait for the terminal to complete executing.
- You now have Sourcetoad data source tools running.
If the optional tools are launched, you can find phpMyAdmin at: localhost:8080
- It supports the following databases...
- mariadb102 (deprecated)
- mariadb103
- mariadb104
- mariadb105
Inside the examples
folder you will find example Docker configurations for
popular frameworks like Laravel and Yii2.
The examples make the assumption that any domain used for local development is
already added to the /etc/hosts
file. You can edit to add 127.0.0.1 domain.docker
.
Inside the scripts
folder you will find one-off scripts to help with tasks.
db_migrate.sh
- Helps migrate databases between versions of mysql.