corso/docs/docs/setup/configuration.md
Niraj Tolia 093d2b9639
Edit M365 access docs (#1256)
## Description

- Use subsections for easier linking
- Consolidate some text
- Switch to MD images as I needed to zoom in on every one in its default config
- Switch to MD images for alignment with rest of the page
- Add alt-text to images
- Ensure consistency for order of Azure variables
- Add missing links
- Add missing instructions

## Type of change

- [x] 🐛 Bugfix
- [x] 🗺️ Documentation
2022-10-21 00:09:31 +00:00

3.3 KiB

Configuration

import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';

Corso is available as a Docker image (Linux x86_64 and arm64) and as an x86_64 and arm64 executable for Windows, Linux and macOS.

Two things are needed to run Corso:

  • Environment variables containing configuration information
  • A directory for Corso to store its configuration file

Environment variables

Three distinct pieces of configuration are required by Corso:

  • S3 object storage configuration to store backups. See AWS Credentials Setup for alternate ways to pass AWS credentials.

    • AWS_ACCESS_KEY_ID: Access key for an IAM user or role for accessing an S3 bucket
    • AWS_SECRET_ACCESS_KEY: Secret key associated with the access key
    • (Optional) AWS_SESSION_TOKEN: Session token required when using temporary credentials
  • Microsoft 365 Configuration

    • AZURE_CLIENT_ID: Client ID for your Azure AD application used to access your M365 tenant
    • AZURE_TENANT_ID: ID for the M365 tenant where the Azure AD application is registered
    • AZURE_CLIENT_SECRET: Azure secret for your Azure AD application used to access your M365 tenant
  • Corso Security Passphrase

    • CORSO_PASSPHRASE: Passphrase to protect encrypted repository contents

Ensure that all of the above environment variables are defined in your Powershell environment.

Ensure that all of the above environment variables are defined in your shell environment.

For ease of use with Docker, we recommend adding the names of the required environment variables (but not their values!) to a Docker environment variables file. To create the environment variables file, you can run the following command:

# Create an environment variables file
mkdir -p $HOME/.corso
cat <<EOF > $HOME/.corso/corso.env
CORSO_PASSPHRASE
AZURE_CLIENT_ID
AZURE_TENANT_ID
AZURE_CLIENT_SECRET
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
EOF

Configuration File

By default, Corso stores its configuration file (.corso.toml) in the root of the home directory. The location of the configuration file can be specified using the --config-file option.

By default, Corso stores its configuration file (.corso.toml) in the root of the home directory. The location of the configuration file can be specified using the --config-file option.

To preserve configuration across container runs, Corso requires access to a directory outside of its Docker container to read or create its configuration file (.corso.toml). This directory must be mapped, by Docker, to the /app/corso directory within the container.

$ docker run --env-file $HOME/.corso/corso.env \
    --volume $HOME/.corso/corso:/app/corso \
    ghcr.io/alcionai/corso <command> <command options>