summaryrefslogtreecommitdiff
path: root/base.env
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2024-12-23 22:14:44 -0500
committerFreya Murphy <freya@freyacat.org>2024-12-23 22:14:44 -0500
commit45b58da72187a7b1ed4d75fc25bf5dd59a86a9c4 (patch)
tree721d43e663d0b9d7c15ebc4b180ba709e9e0f9c3 /base.env
parentlang null check (diff)
downloadcrimson-45b58da72187a7b1ed4d75fc25bf5dd59a86a9c4.tar.gz
crimson-45b58da72187a7b1ed4d75fc25bf5dd59a86a9c4.tar.bz2
crimson-45b58da72187a7b1ed4d75fc25bf5dd59a86a9c4.zip
rework tooling to make environement loading easier
Diffstat (limited to 'base.env')
-rw-r--r--base.env73
1 files changed, 54 insertions, 19 deletions
diff --git a/base.env b/base.env
index 8392c33..3717db2 100644
--- a/base.env
+++ b/base.env
@@ -1,34 +1,69 @@
-# ============================= GENERAL ==
+### CRIMSON --- A simple PHP framework.
+### Copyright © 2024 Freya Murphy <contact@freyacat.org>
+###
+### This file is part of CRIMSON.
+###
+### CRIMSON is free software; you can redistribute it and/or modify it
+### under the terms of the GNU General Public License as published by
+### the Free Software Foundation; either version 3 of the License, or (at
+### your option) any later version.
+###
+### CRIMSON is distributed in the hope that it will be useful, but
+### WITHOUT ANY WARRANTY; without even the implied warranty of
+### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+### GNU General Public License for more details.
+###
+### You should have received a copy of the GNU General Public License
+### along with CRIMSON. If not, see <http://www.gnu.org/licenses/>.
-# project name
+# ===================================================================== INFO ==
+# This is the CRIMSON configuration file. Copy this file as `.env` in your
+# project checkout to override default crimson configuration values.
+#
+# NOTE: Options labeled "CHANGE ME!" MUST be modified.
+
+# ================================================================== GENERAL ==
+# Contains options for project metadata.
+# PROJECT_NAME - Sets the project name in the docker compose stack.
+# i.e: crimson-web-1
PROJECT_NAME="crimson"
-# ================================= WEB ==
+# ============================================================== DEVELOPMENT ==
+# Sets if CRIMSON should run in "production" or "development" mode. Read
+# `src/config.php` in crimson for more information.
+ENVIRONMENT="production"
-# What port to listen on
+# ====================================================================== WEB ==
+# Sets what port and bind that nginx will listen on. This is how you will
+# externally access your app.
+#
HTTP_BIND=127.0.0.1
HTTP_PORT=80
-# ============================ DATABASE ==
-
-# Do we want the postgres database enabled
+# ================================================================= DATABASE ==
+# If POSTGRES_ENABLED is set to `true`, then the crimson postgres database will
+# be enabled. Configure the below settings for the connetions options to this
+# database.
+#
+# WARNING: Do NOT change these values after the fist run.
+#
POSTGRES_ENABLED=false
-
-# Database authentication
POSTGRES_DB=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
-# ================================= API ==
-
-# Do we want the postgrest api enabled
+# ====================================================================== API ==
+# If API_ENABLED is set to `true`, then the crimson postgrest container will be
+# enabled. Postgres uses JWTs to do verification, so you MUST set a API_SECRET
+# if the api is enabled. API_ROLE sets which role will unauthenticated api
+# users will be inside postgres. API_SCHEMA sets which postgres schema that
+# postgrest will use.
+#
+# For more information about postgres: <https://docs.postgrest.org/en/v12/>.
+#
+# WARNING: POSTGRES_ENABLED must be set to `true` if the API is also enabled.
+#
API_ENABLED=false
-
-# API Jwt Secret
-API_SECRET="<base64>"
-
-# API Anonymous role
+API_SECRET="" # CHANGE ME!
API_ROLE="anonymous"
-
-# API schema
API_SCHEMA="api"