druidfi / stonehenge

Multi-project local development environment & toolset on Docker
MIT License
63 stars 6 forks source link
asahi colima docker docker-compose mailpit orbstack traefik wsl2

Stonehenge

Stonehenge logo

Local development environment toolset on Docker supporting multiple projects.

Tests

What does it do?

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.

Requirements for Stonehenge

Requirements for a project

Stonehenge building blocks

Setup

Note: 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.

Oneliner

sh -c "$(curl -fsSL https://raw.githubusercontent.com/druidfi/stonehenge/5.x/install.sh)"

Or manually with Git

git clone -b 5.x https://github.com/druidfi/stonehenge.git ~/stonehenge
cd ~/stonehenge
make up

Using custom domain

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.

Stop or shutdown Stonehenge

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 alias

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

SSH keys

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

Using custom ports

You can change https, http and smtp ports by using ENV variables:

HTTPS_PORT=8443 HTTP_PORT=8080 SMTP_PORT=25 make up

Examples

Supported operating systems

Fork and modify

To brand the toolset for your organization:

Debug

Use following command to see what data is detected:

make debug

TODO

References

License

The files in this archive are released under the MIT license. You can find a copy of this license in LICENSE.