Hello World is a simple, minimal project that serves as a template for creating a service that runs on StartOS. This repository creates the s9pk
package that is installed to run hello-world
on StartOS. Learn more about service packaging in the Developer Docs.
Install the system dependencies below to build this project by following the instructions in the provided links. You can find instructions on how to set up the appropriate build environment in the Developer Docs.
Prepare your StartOS build environment. In this example we are using Ubuntu 20.04.
curl -fsSL https://get.docker.com | bash
sudo usermod -aG docker "$USER"
exec sudo su -l $USER
docker buildx install
docker buildx create --use
docker run --privileged --rm linuxkit/binfmt:v0.8
sudo snap install yq
sudo snap install deno
sudo apt-get install -y build-essential openssl libssl-dev libc6-dev clang libclang-dev ca-certificates
curl https://sh.rustup.rs -sSf | sh
# Choose nr 1 (default install)
source $HOME/.cargo/env
git clone https://github.com/Start9Labs/start-os.git && \
cd start-os && git submodule update --init --recursive && \
make sdk
Initialize sdk & verify install
start-sdk init
start-sdk --version
Now you are ready to build the hello-world
package!
Clone the project locally:
git clone https://github.com/Start9Labs/hello-world-startos.git
cd hello-world-startos
git submodule update --init --recursive
To build the hello-world
package for all platforms using start-sdk, run the following command:
make
To build the hello-world
package for a single platform using start-sdk, run:
# for amd64
make x86
or
# for arm64
make arm
Run the following commands to determine successful install:
:information_source: Change server-name.local to your Start9 server address
start-cli auth login
# Enter your StartOS password
start-cli --host https://server-name.local package install hello-world.s9pk
If you already have your start-cli
config file setup with a default host
, you can install simply by running:
make install
Tip: You can also install the hello-world.s9pk using Sideload Service under the System > Manage section.
Go to your StartOS Services page, select Hello World, configure and start the service. Then, verify its interfaces are accessible.
Done!