https://github.com/syntro-opensource/ssdev
docker-based devenv manager for silverstripe projects
https://github.com/syntro-opensource/ssdev
developer-tools development docker silverstripe
Last synced: 4 months ago
JSON representation
docker-based devenv manager for silverstripe projects
- Host: GitHub
- URL: https://github.com/syntro-opensource/ssdev
- Owner: syntro-opensource
- License: bsd-3-clause
- Created: 2020-09-16T08:01:39.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2025-02-12T08:10:49.000Z (over 1 year ago)
- Last Synced: 2025-04-08T19:02:17.162Z (about 1 year ago)
- Topics: developer-tools, development, docker, silverstripe
- Language: JavaScript
- Homepage:
- Size: 896 KB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# ssdev - A Simple yet Powerful Silverstripe Development Environment Manager 🚀
[](https://www.npmjs.com/package/ssdev)
[](https://www.npmjs.com/package/ssdev)

[](https://github.com/syntro-opensource/ssdev/actions?query=workflow%3ATests)
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:
* [macOS](docs/os/macos.md)
* [Windows](docs/os/windows.md)
* [Linux](docs/os/linux.md)
## 📦 Installation
You can run ssdev without installing it using npx:
```
npx ssdev --help
```
This 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 ssdev
```
after 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](https://docs.silverstripe.org/en/4/getting_started/directory_structure/).
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`](https://github.com/syntro-opensource/silverstripe-ssto)
to get set up with a Silverstripe starter project.
In a directory containing a project, simply run
```
ssdev up
```
to bring up a server and database environment. To shut down the server after you
are finished, run
```
ssdev down
```
There is more to ssdev, but we go over all of it in the [docs](#-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:
```json
{
"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](docs/hostcontainer.md).
#### Install Dependencies
→ see [📚 in-depth docs about composer dependencies](docs/composer.md).
#### Executing Tests (PHPUnit, PHPStan, ...)
→ see [📚 in-depth docs about test execution](docs/testing.md).
#### Custom Services
→ see [📚 in-depth docs about custom service container](docs/services.md).
## âž• More Infos
Check out the following for more informations:
* [Changelog](CHANGELOG.md)
* [Contributing guide](CONTRIBUTING.md)
* [License](LICENSE.md)
* [`syntro/ssto`](https://github.com/syntro-opensource/silverstripe-ssto)