# Introduction

dCache is a system for storing and retrieving huge amounts of data, distributed among a large number of heterogenous server nodes, under a single virtual filesystem tree with a variety of standard access methods. It supports exchanging data with backend storage systems such as tape, and offers flexible and fine-grained control over physical file location and redundancy.

Documentation for dCache administrators and users is maintained at the [dCache Documentation Website](https://www.dcache.org/manuals/index.shtml). In particular,

* the tertiary storage interface is discussed in [Chapter 8](https://www.dcache.org/manuals/Book-2.16/config/cf-tss-fhs.shtml)
* the replica manager, responsible for managing replicated files on pools, is discussed in [Chapter 6](https://www.dcache.org/manuals/Book-2.16/config/cf-repman-fhs.shtml)

The \[documentation for the REST API]\(<https://github.com/mksahakyan/dcache/wiki/RestfulAPI---(CDMI>) is still under development. It describes setting and querying file status information as well as the formal requirements for interacting with the API.

The [release policy](https://www.dcache.org/downloads/1.9/index.shtml) of dCache describes the anticipated support periods for each release. The 2.16 series is designated a "golden release", which means a two-year support period.

## Installation

### From binary packages

The dCache team recommends to use the [official binary packages](https://www.dcache.org/downloads/1.9/index.shtml#server-2.16) for installation. They are available at the dCache homepage, as well as directly from [Indigo's repository](http://repo.indigo-datacloud.eu/repository/indigo/1/centos7/x86_64/base/).

Detailed [instructions for installing from packages](https://www.dcache.org/manuals/Book-2.16/start/in-install-fhs.shtml) are available from dCache's documentation site.

### From source

If, however, building from the Indigo source repository is desired, this can be done just like for the normal dCache releases:

* Prepare a Linux workstation with a current Maven and JDK
* clone the repository
* Follow the instructions in BUILDING.md in the repository's root directory

This will result in an installable package. For the actual installation and dCache's runtime dependencies, follow the installation guide for package-based installations linked above and check the materials from the [dCache Documentation Website](https://www.dcache.org/manuals/index.shtml).

## Configuration

### General system configuration

Setting up dCache requires some planning, due to the great flexibility of the system. All details can be found in the [dCache Book](https://www.dcache.org/manuals/Book-2.16/index-fhs-comments.shtml).

### Firewalls

Externally, dCache requires some firewall configuration. There is a list of ports and their functions at <https://www.dcache.org/manuals/Book-2.16/reference/rf-ports-fhs.shtml>. However, this greatly depends on the configuration chosen in a given installation. In a running system, port usage can be queried using the `dcache ports` command.

### Indigo IAM

dCache accepts requests to WebDAV (HTTP) doors with OpenID credentials, but does not directly interact with the IAM. Documentation for using the OpenID plugin is available at <https://github.com/dCache/dcache/wiki/OpenID-Connect-with-dCache>.


---

# Agent Instructions: 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:

```
GET https://indigo-dc.gitbook.io/dcache/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
