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 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.
git clone git@github.com:sourcetoad/DevopsToolKit.git devop-tools
./devop-tools/docker/data-source-services/network-creation.sh
cd ./devop-tools/docker/data-source-services && docker-compose up --build -d
- Kill, and optionally disable, the
World Wide Web Publishing Service
- Run
set COMPOSE_CONVERT_WINDOWS_PATHS=1
in your CMD or PowerShell terminal - Optionally, read this bug report.
- Optionally included is the following tools:
- phpMyAdmin
- Mailpit
- MinIO
cd ./devop-tools/docker/data-source-tools && docker-compose up --build -d
For managing MySQL/MariaDB databases visually.
- Viewable at: http://localhost:8080
- It supports the following databases...
- mariadb106 (lts)
- mariadb1011 (lts)
For mimicking an email inbox (ala mailtrap) for local usage.
- Viewable at: http://localhost:8025
- Configurable in projects via
.env
MAIL_MAILER=smtp
MAIL_HOST=sourcetoad_mailpit
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
For running an S3 service locally.
- Edit the
/etc/hosts
file on your system and make a reference for127.0.0.1 s3.docker
- Open the admin console http://s3.docker:10001 and login.
- username: root
- password: password
- Create an appropriate bucket for each project as needed.
- Modify the project's
.env
as follows:FILESYSTEM_DRIVER=s3
AWS_ACCESS_KEY_ID=root
AWS_SECRET_ACCESS_KEY=password
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=[project-bucket-name]
AWS_ENDPOINT=http://s3.docker:10000
AWS_USE_PATH_STYLE_ENDPOINT=true
Inside the scripts
folder you will find one-off scripts to help with tasks.
db_migrate.sh
- Helps migrate databases between versions of mysql.