Skip to content

Commit d311f4c

Browse files
committed
add: Documentation for Windows
1 parent 5c1116d commit d311f4c

5 files changed

Lines changed: 73 additions & 40 deletions

File tree

README.md

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,12 @@
88
ssdev makes Silverstripe development easy. Stop worrying about your LAMP, MAMP
99
or WAMP stack and start developing awesome websites and applications!
1010

11-
> 🚨 **WANTED: Feedback from Windows & Linux users!**
12-
>
13-
> ssdev is extensively tested and developed on macOS, as this is what we work on.
14-
> To find bugs or problems on other systems, we need your feedback from using
15-
> ssdev on Linux or Windows
16-
17-
## 🧩 Requirements
18-
For ssdev to work correctly, you have to install
19-
* Docker ([installation instructions](https://www.docker.com/products/docker-desktop)) - We recommend to install Docker desktop on Windows, as a native installation under wsl tends to not work correctly.
20-
* Node & npm *(& npx)* ([installation instructions](https://nodejs.org/en/download/))
21-
22-
> Users on Mac and Windows will have to set up nfs.
23-
>
24-
> → see [📚 Configuring NFS on macOS](docs/nfs/macos.md).
11+
## 🧩 Prerequisites
12+
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:
13+
14+
* [macOS](docs/os/macos.md)
15+
* [Windows](docs/os/windows.md)
16+
* [Linux](docs/os/linux.md)
2517

2618
## 📦 Installation
2719
You can run ssdev without installing it using npx:

docs/nfs/macos.md

Lines changed: 0 additions & 26 deletions
This file was deleted.

docs/os/linux.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Using `ssdev` on linux
2+
3+
> 🚨 **WANTED: Feedback from Linux users!**
4+
>
5+
> ssdev is extensively tested and developed on macOS and Windows, as this is what we work on.
6+
> To find bugs or problems on linux systems, we need your feedback.
7+
8+
In order to use ssdev efficiently, you need to install the following:
9+
* Docker ([installation instructions](https://www.docker.com/))
10+
* Node & npm *(& npx)* ([installation instructions](https://nodejs.org/en/download/))
11+
12+
After installing the prerequisites, you can follow up with installation of ssdev.
13+

docs/os/mac.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Using `ssdev` on macOS
2+
3+
In order to use ssdev efficiently, you need to install the following:
4+
* Docker ([installation instructions](https://www.docker.com/products/docker-desktop))
5+
* Node & npm *(& npx)* ([installation instructions](https://nodejs.org/en/download/))
6+
7+
After installing the prerequisites, you can follow up with installation of ssdev.
8+
9+
## NFS on macOS
10+
> **Note:** with newer versions of Docker for desktop, the default driver for bind mounts
11+
> has gotten very performant. This means, that you will most likely not be needing NFS-mounts
12+
> anymore. We recommend to check performance before setting up NFS
13+
14+
15+
In order to share files to the container and keep a speedy environment,
16+
we use an nfs mount instead of the native filesystem mount.
17+
18+
For this to work, you have to give the necessary permissions to docker desktop.
19+
20+
### Configuring NFS Exports
21+
22+
Add the following to your `/etc/exports`:
23+
24+
```
25+
/System/Volumes/Data -alldirs -mapall=501:20 localhost
26+
```
27+
28+
and add the following to `/etc/nfs.conf`:
29+
30+
```
31+
nfs.server.mount.require_resv_port = 0
32+
```
33+
34+
### Add Permissions
35+
36+
In order for Docker and NFS to work, you have to open Settings > Security
37+
and give access to the desired directories (or full disk access) to `Docker`
38+
and `nfsd`

docs/os/windows.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Using `ssdev` on Windows
2+
3+
Using ssdev on Windows system is best achieved using WSL. Please follow the steps below
4+
to achieve a performant development experience. Also, we recommend VSCode, as it comes
5+
with an extension for WSL.
6+
7+
1. Set up WSL and install a distro ([instructions by Microsoft](https://learn.microsoft.com/de-de/windows/wsl/setup/environment#set-up-your-linux-username-and-password))
8+
2. Open a Terminal in your WSL Distro and install Node & npm *(& npx)* ([instructions by Microsoft](https://learn.microsoft.com/de-de/windows/dev-environment/javascript/nodejs-on-wsl))
9+
3. install the WSL-extension in VSCode
10+
4. [Install Docker for Desktop](https://www.docker.com/products/docker-desktop)
11+
5. install ssdev inside the WSL environment
12+
13+
The best approach is treating the WSL distro as a remote server and using it to develop your projects.
14+
This means that it is best practice to use git inside the distro. You can open any project in VSCode
15+
by typing `code .` in the respective directory.
16+

0 commit comments

Comments
 (0)