Hardware Requirements
Speedia OS is developed using Go with lightweight dependencies. The operating system, along with the OS API and dashboard running, should not consume more than 50MB of RAM (according to podman/docker stats). However, hardware requirements will increase as you install more software.
For example, installing WordPress can push the memory requirements up to 256MB of RAM due to MySQL and PHP running (excluding pagecache, dentries, and inodes). For small deployments, at least 1GB of RAM is advisable.
Running
Speedia OS does not require traditional installation; it can be run with Docker, Podman, or your preferred container management platform using a single command:
docker run --rm --name myapp-container \
--env 'PRIMARY_VHOST=myapp.net' \
-p 8080:80 -p 8443:443 -p 1618:1618 \
-it docker.io/speedianet/os:latest
In the example above, the container ports 80, 443, and 1618 are mapped to host ports 8080, 8443, and 1618, respectively. If you're running multiple containers on the same host, consider using a reverse proxy to manage traffic.
You can customize the container name, vhost, and host ports as needed. The --rm
flag ensures the container is removed upon stopping. To retain the container, simply omit this flag.
Once you've deployed the container, it's recommended to create an account with the shell:
docker exec -it myapp-container /bin/bash
os account create -u admin -p admin
Then you’re free to deploy applications, services, and more. For example, to deploy WordPress:
os mktplace install -s wp -n myapp.net \
-f 'adminUsername:admin' \
-f 'adminPassword:abc123' \
-f 'adminMailAddress:user@myapp.net'
The dashboard will be available at https://localhost:1618/_/. Note that you may encounter an SSL warning due to the self-signed certificate, which you can ignore or replace with your own certificate later.