ssdev
v2.2.0
Published
docker-based devenv manager for silverstripe projects using npx
Readme
ssdev - A Simple yet Powerful Silverstripe Development Environment Manager 🚀
ssdev makes Silverstripe development easy. Stop worrying about your LAMP, MAMP or WAMP stack and start developing awesome websites and applications!
🧩 Prerequisites
ssdev works on most systems. In order for it to work properly, you need to install some prerequisites. Please follow the instructions for your OS:
📦 Installation
You can run ssdev without installing it using npx:
npx ssdev --helpThis works great for checking out ssdev or for issuing some commands, but for productive development work, you should install it globally using:
npm install -g ssdevafter which you can simply use it by typing
ssdev --help🚀 Usage
ssdev assumes Silverstripe projects to be inside a directory containing a composer.json
file and a file structure common for Silverstripe.
All commands concerning that project must be executed in the project root.
If you want to experiment on a new project, have a look over at syntro/ssto
to get set up with a Silverstripe starter project.
In a directory containing a project, simply run
ssdev upto bring up a server and database environment. To shut down the server after you are finished, run
ssdev downThere is more to ssdev, but we go over all of it in the docs.
📖 Docs
ssdev is a powerful tool and can be customized in various ways. Read here how you can achieve any setup, mimicking a production environment as closely as possible.
Config Options
You can set all config options (ssdev --help) in a package.json file under the
ssdev key. This allows you to set per-project settings that actually transfer
to other developers. An example would be if you want to use a different PHP version:
{
"ssdev": {
"image-host": "syntrocontainer/silverstripe-dev:8.0-apache-buster"
}
}Configure the Host Container
→ see 📚 in-depth docs about how to work with diffrent hosting setups.
Install Dependencies
→ see 📚 in-depth docs about composer dependencies.
Executing Tests (PHPUnit, PHPStan, ...)
→ see 📚 in-depth docs about test execution.
Custom Services
→ see 📚 in-depth docs about custom service container.
➕ More Infos
Check out the following for more informations:
