# Flat Multi-Environment Config for Craft CMS 3

DevFeed: [Flat Multi-Environment Config for Craft CMS 3](<https://devfeed.tech/articles/flat-multi-environment-config-for-craft-cms-3-31286.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/multi-environment-configuration-for-craft-cms-3>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2020-02-29T15:29:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Content Management System](<https://devfeed.tech/topics/cms.md>), [.env](<https://devfeed.tech/topics/dotenv.md>), [Environment Variables](<https://devfeed.tech/topics/environment-variables.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [aliases](<https://devfeed.tech/tags/aliases.md>), [api-keys](<https://devfeed.tech/tags/api-keys.md>), [approach](<https://devfeed.tech/tags/approach.md>), [article](<https://devfeed.tech/tags/article.md>), [cms](<https://devfeed.tech/tags/cms.md>), [config](<https://devfeed.tech/tags/config.md>), [configs](<https://devfeed.tech/tags/configs.md>), [craft](<https://devfeed.tech/tags/craft.md>), [database](<https://devfeed.tech/tags/database.md>), [docker](<https://devfeed.tech/tags/docker.md>), [environment](<https://devfeed.tech/tags/environment.md>), [environment-variables](<https://devfeed.tech/tags/environment-variables.md>), [file](<https://devfeed.tech/tags/file.md>), [files](<https://devfeed.tech/tags/files.md>), [flat](<https://devfeed.tech/tags/flat.md>), [git](<https://devfeed.tech/tags/git.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [insights](<https://devfeed.tech/tags/insights.md>), [multi-environment](<https://devfeed.tech/tags/multi-environment.md>), [need](<https://devfeed.tech/tags/need.md>), [presents](<https://devfeed.tech/tags/presents.md>), [secrets](<https://devfeed.tech/tags/secrets.md>), [sorts](<https://devfeed.tech/tags/sorts.md>), [variables](<https://devfeed.tech/tags/variables.md>)

## AI overview

A tutorial on configuring Craft CMS 3 across development, staging, and production environments using aliases, environment variables, .env files, and configuration files. It presents a flat configuration approach and discusses keeping environment-specific credentials and secrets separate from source code and databases.

## Source excerpt

Multi-environment configs for Craft CMS are a mix of aliases, environment variables, and config files. This article sorts it all out, and presents a flat config file approach