# Core concepts

## How your work is organised

- **Organisation.** A closed space with its own members, roles and data. Agencies usually
  keep one per client. One account can belong to several. More under
  [What is an organisation?](https://lalabase.com/docs/en/guides/basics/organisation)
- **Project.** Sits in an organisation and bundles tickets, documents and time. People see
  only the projects they belong to. More under
  [Create your first project](https://lalabase.com/docs/en/guides/basics/first-project).
- **Ticket.** The unit of work, as a list or a board. Statuses, priorities and fields are
  defined per project. More under [Tickets](https://lalabase.com/docs/en/guides/basics/tickets).
- **Role.** Decides what someone may see and do, which is also how clients get access of
  their own. More under [Roles and permissions](https://lalabase.com/docs/en/guides/team/roles-permissions).

## Two kinds of account

A **user** works in organisations and signs in at `/users/sign_in`. An **instance admin**
looks after the whole installation and signs in at `/admin`. The two are separate accounts
with separate sign-ins. On our cloud we are the instance admin; on your own server, you are.

## How an instance is built

Lalabase is a Rails application with server-rendered pages (Hotwire, no React). It needs:

| Part | Job |
|---|---|
| Application | web interface, REST API and MCP server |
| Worker | background work: mail, notifications, AI (Solid Queue) |
| PostgreSQL with pgvector | all data, including the search index of the assistant |
| Redis-compatible store | live updates and cache (the Docker setup uses Valkey) |

Docker Compose starts all of these for you, plus Caddy for HTTPS. See
[system requirements](https://lalabase.com/docs/en/self-hosting/getting-started/requirements).

## Ways in from outside

Besides the web app there are the [MCP server](https://lalabase.com/docs/en/mcp/introduction/overview) for agents,
the [CLI tool](https://lalabase.com/docs/en/cli/getting-started/overview) for the terminal and a REST API at
`/api/v1`. All three use the same [access tokens](https://lalabase.com/docs/en/guides/ai/personal-access-tokens). The
REST API has no public reference yet.
