You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/packaging-guide/environment-setup.md
+34-23Lines changed: 34 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,46 +6,57 @@ You will need a computer running StartOS to test your package. Follow the [flash
6
6
7
7
## Docker
8
8
9
-
<ahref="https://docs.docker.com/get-docker/"target="_blank">Docker</a> is needed to convert docker images to StartOS images.
9
+
[Docker](https://docs.docker.com/get-docker/)is essential for building and managing container images that will be used for final `.s9pk` build. It handles:
10
10
11
-
## Make
12
-
13
-
<ahref="https://www.gnu.org/software/make/"target="_blank">Make</a> is needed to streamline builds and produce s9pk binaries.
11
+
- Pulling base images for your service containers
12
+
- Building custom container images from Dockerfiles
14
13
15
-
## NodeJS v22 (latest LTS)
14
+
## Make
16
15
17
-
<ahref="https://nodejs.org/en/"target="_blank">NodeJS</a> is needed to compile the Typescript in your StartOS package.
16
+
[Make](https://www.gnu.org/software/make/) is a build automation tool that streamlines the package creation process and it is used to:
18
17
19
-
## SquashFS
18
+
- Execute build scripts defined in Makefiles
19
+
- Coordinate the packaging workflow
20
+
- Build and install s9pk binaries to StartOS
21
+
- Automate repetitive development tasks
20
22
21
-
SquashFS is needed to pack the compiled Javascript into a SquashFS file
23
+
## Node.js v22 (Latest LTS)
22
24
23
-
##### Linux (Debian-based)
25
+
[Node.js](https://nodejs.org/en/) is required for compiling TypeScript code used in StartOS package configurations.
24
26
25
-
sudo apt install squashfs-tools squashfs-tools-ng
27
+
## SquashFS
26
28
27
-
##### Mac
29
+
**SquashFS** is used to create compressed filesystem images that package your compiled service code.
28
30
29
-
brew install squashfs
31
+
### Installation:
30
32
31
-
##Start CLI
33
+
#### Linux (Debian-based)
32
34
33
-
<ahref="https://github.com/Start9Labs/start-os/"target="_blank">start-cli</a> is needed to interact with StartOS from the command line.
35
+
```sh
36
+
sudo apt install squashfs-tools squashfs-tools-ng
37
+
```
34
38
35
-
1. Clone the StartOS repo
39
+
#### macOS
36
40
37
-
https://github.com/Start9Labs/start-os.git
41
+
Make sure you have [Homebrew](https://brew.sh/) installed, then:
38
42
39
-
1. Initialize the git submodules
43
+
```sh
44
+
brew install squashfs
45
+
```
40
46
41
-
git submodule update --init --recursive
47
+
## Start CLI
42
48
43
-
1. Build Start CLI
49
+
[start-cli](https://github.com/Start9Labs/start-cli/) is the core development toolkit for building StartOS packages and provides:
44
50
45
-
make cli
51
+
- Package validation and verification
52
+
- s9pk file creation and assembly
53
+
- Development workflow management
54
+
- Integration with StartOS systems
46
55
47
-
1. Initialize Start CLI
56
+
### Installation:
48
57
49
-
start-cli init
58
+
The easiest way to install start-cli is using our automated installer script:
50
59
51
-
This will generate a `.startos` directory inside your home directory. This directory will contain a newly-generated `developer.key.pem`, used to sign packages, as well as a default `config.yaml`, which can be edited to customize and streamline your developer experience.
60
+
```
61
+
curl -fsSL https://start9labs.github.io/start-cli | sh
0 commit comments