> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fly.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Environment Configuration

Rails applications are usually configured via the encrypted `credentials.yml` file or via environmental variables.

## Environmental variables

Environment variables are a great way to configure a Rails application that needs to run in multiple environments.

### Secret variables

Environment variables that have sensitive data in them, like a `DATABASE_URL` that contains a password, can be kept in a secret that can't be viewed except when the container is running.

To set a secret in Fly, run:

```bash theme={null}
fly secrets set SUPER_SECRET_KEY=password1234
```

### Non-sensitive variables

Variables that don't have sensitive data can be set in the `fly.toml` file under the `[env]` directive. An example file might look like:

```toml theme={null}
[env]
  RAILS_LOG_TO_STDOUT = x
```

### View the variables

To view the environment variables of your Fly Rails app, run:

```bash theme={null}
fly ssh console -C "printenv"
```

There you'll see all of the environment variables in your application that have been set by `fly secrets`, the `[env]` directive in the `fly.toml` file, and the `environment` directive from your Dockerfile.

## Encrypted credentials file

Another approach to managing credentials in Rails is to use an encrypted credentials file, such as `config/credentials.yml.enc` or `config/credentials/production.yml.enc`, which you can learn more about by running the following from the root of your Rails application:

```bash theme={null}
bin/rails credentials:help
```

When deploying to production, the `RAILS_MASTER_KEY` that will decrypt the credentials file can be set via `fly secrets set`. For example, if your master key is stored in `config/master.key`, you can run:

```bash theme={null}
fly secrets set RAILS_MASTER_KEY=$(cat config/master.key)
```

For Windows/PowerShell:

```powershell theme={null}
$Env:RAILS_MASTER_KEY = Get-Content 'config\master.key'
```
