> For the complete documentation index, see [llms.txt](https://icij.gitbook.io/datashare/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://icij.gitbook.io/datashare/server-mode.md).

# On your server

- [About the server mode](https://icij.gitbook.io/datashare/server-mode/about-the-server-mode.md)
- [Install with Docker](https://icij.gitbook.io/datashare/server-mode/install-with-docker.md): This page explain how to start Datashare within a Docker in server mode.
- [Permission model](https://icij.gitbook.io/datashare/server-mode/permission-model.md): Hierarchical RBAC authorization model based on Casbin (instance/domain/project scopes).
- [Add documents from the CLI](https://icij.gitbook.io/datashare/server-mode/add-documents-from-the-cli.md): The shortest path from an empty project to searchable documents on a server install.
- [Indexing](https://icij.gitbook.io/datashare/server-mode/indexing.md): How Datashare turns a directory of files into a searchable index, and how to drive that process from the command line on your server.
- [Indexing scenarios](https://icij.gitbook.io/datashare/server-mode/indexing/scenarios.md): Copy-paste recipes for the indexing situations you will actually meet on a server: first pass, incremental updates, resume, distribution and backfills.
- [Indexing options](https://icij.gitbook.io/datashare/server-mode/indexing/options.md): Every option that changes how Datashare indexes: command-line flags, environment variables and what cannot be configured from the command line.
- [Tuning and performance](https://icij.gitbook.io/datashare/server-mode/indexing/tuning.md): How to make indexing fast: CPU, OCR threads, memory, Elasticsearch, and the specific case of mail archives.
- [Troubleshooting indexing](https://icij.gitbook.io/datashare/server-mode/indexing/troubleshooting.md): What the errors in your indexing logs mean, which ones are harmless, and what to do about the ones that are not.
- [Add entities from the CLI](https://icij.gitbook.io/datashare/server-mode/add-entities-from-the-cli.md)
- [Manage users from the CLI](https://icij.gitbook.io/datashare/server-mode/manage-users-from-the-cli.md): Create and delete Datashare users with the datashare user subcommands.
- [Manage projects from the CLI](https://icij.gitbook.io/datashare/server-mode/manage-projects-from-the-cli.md): Create and delete projects, and grant or revoke project roles, with the datashare project subcommands.
- [User management](https://icij.gitbook.io/datashare/server-mode/user-management.md)
- [OAuth2](https://icij.gitbook.io/datashare/server-mode/user-management/oauth2.md): OAuth2 authentication with a third-party identity provider
- [HTML form](https://icij.gitbook.io/datashare/server-mode/user-management/form-auth.md): HTML form authentication with credentials stored in a database or Redis.
- [Basic with a database](https://icij.gitbook.io/datashare/server-mode/user-management/basic-with-a-database.md): Basic authentication with a database.
- [Basic with Redis](https://icij.gitbook.io/datashare/server-mode/user-management/basic-with-redis.md): Basic authentication with Redis
- [Dummy](https://icij.gitbook.io/datashare/server-mode/user-management/dummy.md): Dummy authentication provider that disables authentication.
- [Neo4j](https://icij.gitbook.io/datashare/server-mode/create-the-neo4j-graph.md): This page explains how to setup Neo4j, install the Neo4j plugin and create a graph on your server
- [Install Neo4j plugin](https://icij.gitbook.io/datashare/server-mode/create-the-neo4j-graph/run-datashare-with-the-neo4j-plugin.md)
- [Create and update Neo4j graph](https://icij.gitbook.io/datashare/server-mode/create-the-neo4j-graph/create-and-update-the-graph.md): This page describes how to create and maintain your Neo4j graph up to date with your server's Datashare projects
- [Performance considerations](https://icij.gitbook.io/datashare/server-mode/performance-considerations.md): A short summary of what makes Datashare fast or slow, and where the detailed guidance lives.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://icij.gitbook.io/datashare/server-mode.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
