# Apps

> Have Kin set up free and open-source apps on your machine, then open, start and stop them yourself.

**Experimental · private access. Public signup is not open.**

<!-- SOURCE: src/lib/Apps.svelte, src/lib/AppRow.svelte, src/lib/AppsOtherRow.svelte, src/lib/AppNotice.svelte, src/lib/AppFailure.svelte, src/lib/AddApp.svelte, src/lib/AppLogs.svelte, src/lib/AppOverview.svelte, src/lib/AppHead.svelte, src/lib/AppControl.svelte, src/lib/apps.ts, src/lib/apps.svelte.ts, src/lib/attention.ts, src/lib/door.ts, src/lib/Sidebar.svelte, src/lib/Topbar.svelte, internal/home/apps.go, internal/home/apps_verbs.go, internal/home/apps_add.go, internal/home/apps_catalog.go, internal/home/kept_folders.go, internal/tended/tended.go, internal/kinworkspace/reference/apps.md -->

An app is a program that runs on your machine from a folder of its own in
**Apps**, such as a photo library or a budget. Docker runs it, and Kin sets it
up with you in a conversation. Plain buttons open, start and stop an app.
Setting one up, changing, updating or removing it is something you ask Kin
for, and she checks with you before each change.

**Apps** appears in the sidebar, between **Terminal** and **Your machine**,
when Docker is available on your machine or the Apps folder holds an app.

## Add an app

1. Open **Apps** and choose **Add an app…**.
2. Choose one of the apps Kin carries a tested recipe for. Its page says what
   it is, what Kin will ask, where it opens, what it needs and keeps, its
   license and who makes it. Choose **Add** with its name.
3. For any other app, type its name in **Find an app, or name another** and
   choose **Add** with that name. Kin checks that it is free and open source
   before she sets it up.
4. Kin asks to work in the app's new folder. Choose **Trust this workspace**,
   or **For this session**. **Not now** removes the empty folder and takes you
   back.
5. The app's own conversation opens, headed **Set up** with the app's name,
   with `/app` and the name ready to send. Add anything Kin should know and
   press Enter.

Kin asks what she needs, such as where your photos live, and says what is
left for you to do, such as choosing the app's own password the first time you
open it. Not sure which app suits you? **Not sure? Ask Kin** opens her panel
with a question ready for you to send.

If Kin cannot list her recipes, **Add an app…** still takes an app’s name.
If your Kin is too old to set up apps, Apps says she needs an update and
offers no Add control; use [Updates](/docs/space/machine/#updates).

Every recipe is free and open source. An app you add keeps its data in its
folder on this machine, so back the machine up if the app holds things that
exist nowhere else.

## Open, start and stop an app

Each row on the Apps page says how the app stands, such as **Running · 3 d**
or **Stopped · 2 d ago**, where it opens, and how much it keeps.

- **Open** opens the app. One that opens on your tailnet opens in a new tab at
  your machine's tailnet address, from any device signed in to your tailnet.
  One that opens inside your Space opens beside its conversation.
- **Start** and **Stop** start and stop it. The pressed button says what it
  is doing, and the page says how it ended. A stopped app stays stopped when
  the machine restarts.
- While Kin is working in an app, **Stop** also offers **Stop Kin**, because
  her next step could start it again.
- A button that cannot act yet says why, such as **Start Immich to open it.**

The menu beside each row holds **Restart**, **Logs…**, **Copy tailnet
address**, **Choose icon…**, **Session history…** and, set apart, **Ask Kin to
remove** the app. **Logs…** shows the last lines each part of the app wrote,
newest at the bottom; **Ask Kin about these logs** writes a request about them
for you to send. On a phone, a row keeps **Open**, the K and its menu.

## When an app needs you

A notice under an app's row says when something is wrong: it can be reached
from other networks, it keeps restarting, it is unhealthy, only part of it is
running, or it stopped with an error. **Ask Kin to look** writes a request for
Kin to explain why and what would fix it, and to ask before changing anything.
For an app other networks can reach, **Ask Kin to close it** writes a request
to close it. Nothing is sent until you send it.

The sidebar's **Apps** row says how many apps need you. When an app newly goes
wrong, a notice says so once, with **Open Apps**; it leaves when the problem
clears.

## An app's own place

Choose an app's name to open its place. Its trail leads with Apps, as in
**Apps › Immich**. Its **Overview** says where it opens, with **Copy address**
for a phone app, its containers, its data and how much it keeps, its recent
changes and its sessions, beside **About**: Kin's notes, kept in the app's
`APP.md`. Chat, Files, Source and Terminal work as they do for any workspace,
and the bar shows the app's state, with **Open**, **Start** or **Stop**,
**Restart** and **Logs…** behind it.

The K beside an app, or **Ask Kin about** it, returns to the app's newest live
conversation, or starts one with the app's name ready, so you can ask Kin to
change, update or remove it. Every turn there is kept in the folder's history,
which **Changes** reads. The app's data and secrets never enter that history.

## Remove an app

Choose **Ask Kin to remove** from the app's menu. Kin asks what should happen
to the app's data before she removes anything. An app you added and Kin has
not set up yet can be removed straight from its menu.

## Other containers

**Other containers** lists what Docker runs that is not kept in Apps, such as
a project's database or something started from the Terminal. Each has **Stop**
or **Start**, its logs, and the K to ask Kin about it.

<!-- SOURCE: src/lib/Machine.svelte, src/lib/apps.svelte.ts -->

**Your machine** counts your apps and other containers beside Docker's
readiness, and **Open Apps** goes to them.

_Source authority: Kinra Site (src/content/docs/space/apps.md)._
