コンテンツ
- 設定
- イントロダクション
- コンパイル時に呼ばれる環境変数
- 実行時に呼ばれる環境変数
- DB_CONNECTION :string = "sqlite"
- DB_USER :string = ""
- DB_PASSWORD :string = ""
- DB_DATABASE :string = ""
- DB_MAX_CONNECTION :int = 1
- LOG_IS_DISPLAY :bool = true
- LOG_IS_FILE :bool = true
- LOG_IS_ERROR_FILE :bool = true
- LOG_DIR :string = getCurrentDir() / "logs"
- SESSION_DB_PATH :string = getCurrentDir() / "session.db"
- SESSION_TIME :int = 20160
- ENABLE_ANONYMOUS_COOKIE :bool = true
- COOKIE_DOMAINS :string = ""
- HOST :string = "0.0.0.0"
- LOCALE :string = "en"
Basolatoの設定は、config.nims
、 .env
、 .env.local
、 ~/.bash_rc
、 ~/.bash_profile
などで環境変数として定義されています。
.env
、.env.local
に定義された環境変数は、アプリケーション実行時にしか呼ぶことはできません。
.env
には様々な環境での共通設定を、.env.local
には環境固有のものや機密性の高いDBとの接続情報などを設定してください。
config.nims
と.env.local
は.gitignore
によってGit管理されないようになっています。
変更を適用するには再度コンパイルする必要があります。
セッションIDなどの暗号化に使われる24文字のキーです。
接続先RDBの種類です。sqlite
、mysql
、postgres
のいずれかになります。
セッションDBの種類です。file
、redis
のいずれかになります。
サンプル config.nims
putEnv("SECRET_KEY", "abcdefghijklmnopqrstuvwx")
putEnv("DB_DRIVER", "sqlite") # "sqlite" or "mysql" or "postgres"
putEnv("SESSION_TYPE", "file") # "file" or "redis"
変更を適用するには再度アプリケーションを起動してください。
接続先RDBの場所です。Sqliteを使う場合にはファイルの絶対パス、MySQL, PostgreSQLを使う場合にはホスト:ポート
を指定してください。
RDBに接続するためのユーザー名です。
RDBに接続するためのパスワードです。
接続先RDBのデータベース名です。
RDBに非同期接続する時に作るコネクションプールの数です。
アプリケーションをマルチスレッドで動かす場合には、「接続可能数 / スレッド数」になるようにしてください。
ログをターミナルに表示するならtrue
を、しないならfalse
を設定してください。
ログをファイル出力するならtrue
を、しないならfalse
を設定してください。
エラーログをファイル出力するならtrue
を、しないならfalse
を設定してください。
ログ出力先ディレクトリの絶対パスです。
接続先セッションDBの場所です。
ファイルセッションを使う場合にはファイルの絶対パスを、Redisを使う場合にはホスト:ポート
を設定してください。
セッションタイムアウトになる期限を分で設定してください。
匿名ユーザーにクッキーを発行するならtrue
を、しないならfalse
を設定してください。
クッキーを発行する対象ドメインを設定してください。
サーバーを起動するホスト名です。
バリデーションメッセージを表示する言語です。
言語 | 環境変数 |
---|---|
英語 | en |
日本語 | ja |
サンプル .env
# Logging
LOG_IS_DISPLAY=true # true or false
LOG_IS_FILE=true # true or false
LOG_IS_ERROR_FILE=true # true or false
LOG_DIR="/root/project/logs"
# Session db
# Session type is defined in config.nims
SESSION_DB_PATH="/root/project/session.db" # Session file path or redis host:port. ex:"127.0.0.1:6379"
SESSION_TIME=20160 # minutes of 2 weeks
ENABLE_ANONYMOUS_COOKIE=true # true or false
COOKIE_DOMAINS="" # to specify multiple domains, "sample.com, sample.org"
# Other options
HOST="127.0.0.1"
LOCALE=ja
サンプル .env.local
# DB Connection
# DB type is defined in config.nims
DB_CONNECTION="/root/project/db.sqlite3" # sqlite file path or host:port
DB_USER=""
DB_PASSWORD=""
DB_DATABASE=""
DB_MAX_CONNECTION=95 # should be smaller than (DB max connection / running threads num)