Local development environment toolset on Docker supporting multiple projects.
Stonehenge aims to solve the basic problem for web developers: How to do development on local environment as easily as possible.
Stonehenge provides you a shared development environment for multiple projects. It will handle the routing and local domains for your projects as well as SSL certificates for those domains out of the box.
compose.yaml
file(s) - see examples how to use StonehengeNote: in some systems setup will prompt once for your password as it will setup DNS.
If on Windows, check these general install instructions if you don't have WSL2 yet.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/druidfi/stonehenge/5.x/install.sh)"
git clone -b 5.x https://github.com/druidfi/stonehenge.git ~/stonehenge
cd ~/stonehenge
make up
You can also use custom domain instead of docker.so
:
make up DOCKER_DOMAIN=docker.druid.fi
Or alternatively change DOCKER_DOMAIN value in .env
file.
Note: Stonehenge will be started on boot by default if not stopped before.
To stop Stonehenge:
make stop
Or totally to stop and remove Stonehenge:
make down
Add this line to your shell (bash, zsh, fish):
alias stonehenge='make -C ~/stonehenge'
Now you can run make targets from anywhere with the alias:
stonehenge up
By default, Stonehenge tries to add key from ~/.ssh/id_ed25519
and ~/.ssh/id_rsa
.
You can add additional SSH keys with:
make addkey KEY=/path/to/mykey
You can change https
, http
and smtp
ports by using ENV variables:
HTTPS_PORT=8443 HTTP_PORT=8080 SMTP_PORT=25 make up
To brand the toolset for your organization:
.env
file e.g. like follows:
COMPOSE_PROJECT_NAME=company
DOCKER_DOMAIN=docker.company.com
PREFIX=company
docker.company.com
and *.docker.company.com
to 127.0.0.1
Use following command to see what data is detected:
make debug
The files in this archive are released under the MIT license. You can find a copy of this license in LICENSE.