# Quick start

Start kogut, connect a server, and test your notifications.

You need Docker or a Linux machine with systemd. For a public instance, put kogut behind
HTTPS with a [reverse proxy](https://docs.kogut.dev/installation/caddy/). An AI agent can do these steps
over the HTTP API with the `kogut-setup` [skill](https://docs.kogut.dev/reference/mcp/#agent-skills).

1. **Start kogut.**

   Each method serves the panel on port 8484.

   **Linux**

   ```sh
   curl -fsSL https://kogut.dev/install | sh
   ```

   The [install script](https://kogut.dev/install) installs the binary in `/usr/local/bin`
   and starts the `kogut` systemd service.

   **Docker**

   ```sh
   docker run -d --name kogut --restart unless-stopped -p 8484:8484 -v kogut-data:/data ghcr.io/piotrkowski/kogut:0.1
   ```

   **Docker Compose**

   ```yaml title="compose.yml"
   services:
     kogut:
       image: ghcr.io/piotrkowski/kogut:0.1
       restart: unless-stopped
       ports:
         - "8484:8484"
       volumes:
         - kogut-data:/data

   volumes:
     kogut-data:
   ```

   ```sh
   docker compose up -d
   ```

   Set `KOGUT_URL` to your public HTTPS address so generated commands use it
   ([environment variables](https://docs.kogut.dev/reference/environment-variables/)), or keep kogut private
   with [Tailscale](https://docs.kogut.dev/installation/tailscale/).

2. **Create your account.**

   Open `http://<server>:8484`, or your HTTPS address. Enter the setup token from the log:

   ```sh
   journalctl -u kogut | grep setup_token           # Linux
   docker logs kogut 2>&1 | grep setup_token        # Docker
   docker compose logs kogut | grep setup_token     # Docker Compose
   ```

   Create the first admin account. [First run](https://docs.kogut.dev/getting-started/first-run/) says where else the token
   is.

3. **Connect a server.**

   On the welcome screen, name the server and create its install command. Run it as root
   on that server. Later, use **Hosts → Add a server**. The agent can also
   [run in Docker](https://docs.kogut.dev/agent/docker/).

   Open the host's page and press **Monitor** beside a discovered service to add a check.

   To monitor the server kogut runs on, set `KOGUT_LOCAL_AGENT=1` instead; kogut adds its
   own host without a token. With Docker Compose, see
   [Monitor the same host](https://docs.kogut.dev/installation/docker-compose/#monitor-the-same-host).

4. **Add a public site, if you have one.**

   Select **Yes, add my site** and enter its address. kogut creates an HTTP check and
   shows a [tracking snippet](https://docs.kogut.dev/web-apps/tracking-script/) for analytics, Web Vitals,
   and JavaScript errors. Otherwise, select **No public site**.

5. **Test notifications.**

   Open **Settings → Notifications → Add channel**, add a
   [channel](https://docs.kogut.dev/alerts/channels/), and press **Send test**. Add a second channel, so an
   alert still reaches you when one service is down.

To keep configuration in a file, use [`kogut.toml`](https://docs.kogut.dev/reference/configuration/). To
learn when kogut itself is down, set up an [external watcher](https://docs.kogut.dev/high-availability/setups/).
