## Requirements

- **OS**: macOS, Linux, or Windows with WSL2.
- **Docker**: Docker Desktop or any Docker daemon. You don't have to install it first — the installer sets Docker up when it's missing. The CLI is a thin wrapper around `docker`; there are no Node, Python, or system-package deps.
- **Port**: One free TCP port. Defaults to `8471`.
- **Disk**: About 1 GB for the image plus whatever your employees generate.

## Install

The installer downloads the `genosyn` CLI to `/usr/local/bin`, then runs `genosyn install` to pull the image and start the container.

```bash
curl -fsSL https://genosyn.com/install.sh | bash
```

### If you don't have Docker

The installer checks for a Docker daemon it can reach, and sets one up when it can't find one. On Linux, it runs Docker's own convenience script from `get.docker.com`, starts the daemon, and adds you to the `docker` group so the rest of the install can talk to the socket without `sudo`. On macOS, it installs Docker Desktop with Homebrew and launches it. Both paths need your password.

To manage Docker yourself, set `GENOSYN_INSTALL_DOCKER=0` on the installer command — it then stops with a pointer to Docker's docs instead of installing anything.

When it finishes, Genosyn is running on `http://localhost:8471`. Open it and create your account. The CLI also schedules a daily automatic update at 03:17 local time, using the same safe upgrade path.

## Without the installer

If you prefer to skip the helper script, the same image runs directly under Docker:

```bash
docker run -d \
  --name genosyn \
  --restart unless-stopped \
  --security-opt seccomp=unconfined \
  --security-opt systempaths=unconfined \
  -p 8471:8471 \
  -v genosyn-data:/app/data \
  ghcr.io/genosyn/app:latest
```

Everything user-generated lives under `/app/data` inside the container. The named volume above keeps it across container restarts and upgrades.

## Next steps

Open `http://localhost:8471` and sign up, then open the email-verification link. With no SMTP configured, copy that link from `genosyn logs`. Need another one? Sign in and press Resend verification email at Account → Profile, which also shows whether the address is verified yet. To authorize that verified account for install-wide administration, run:

```bash
genosyn user grant-master-admin you@example.com
```

Being first to reach public signup never grants operator access; the command proves control of the Docker host and refuses an unverified account. Sign in again, name your first company, and follow the four-step first-run guide — company mission and vision, hiring an AI Employee and connecting its AI Model, its suggested Routines, and optional email access. The summary offers a first request in chat. Follow [Onboard your first AI Employee](/content/docs/getting-started/index.html) for the complete walkthrough. If you leave partway, Home keeps a Finish setting up banner back into it.

## Upgrading

Fresh CLI installs update automatically once a day. You can also upgrade immediately by rerunning the installer or using the CLI:

```bash
genosyn upgrade
```

The CLI keeps the previous container until the new version is ready and restarts it automatically if the upgrade fails. Data backups are off by default. Add `--backup` to write a verified archive under `~/.genosyn/backups` and restore it during a failed upgrade:

```bash
genosyn upgrade --backup
```

Automatic updates use the default path without a backup after first self-upgrading the CLI. See [CLI reference](/content/docs/cli/index.html) for every flag.

### Backing up

Genosyn ships with a built-in tarball backup of the entire data volume:

```bash
genosyn backup --out ~/backups/genosyn-$(date +%F).tar.gz
```

Schedule that on cron, sync it to S3, and you've got disaster recovery in one line. Restore is symmetric:

```bash
genosyn restore ~/backups/genosyn-2026-04-22.tar.gz
```

## Uninstall

To stop and remove the container but keep your data for later:

```bash
genosyn uninstall
```

To wipe the data volume as well — this is destructive:

```bash
genosyn uninstall --purge
```
