Skip to content

Getting Started ‐ Installation

Alexandre S Hostert edited this page Dec 30, 2024 · 3 revisions

Hardware Requirements

Infinite 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

Infinite 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/goinfinite/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.

The dashboard will be available at https://localhost:1618. Once you access the dashboard, you’ll be able to create your first account directly from the browser:

setup-wizard

Then you’re free to deploy applications, services, and more. For example, to deploy WordPress:

  • via CLI:

    os mktplace install -s wp -n myapp.net \
        -f 'adminUsername:admin' \
        -f 'adminPassword:abc123' \
        -f 'adminMailAddress:user@myapp.net'
  • via dashboard:

    install-wp-marketplace

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.

Clone this wiki locally