Skip to content

Latest commit

 

History

History
148 lines (115 loc) · 5.93 KB

settings.md

File metadata and controls

148 lines (115 loc) · 5.93 KB

設定

戻る

コンテンツ

イントロダクション

Basolatoの設定は、config.nims.env.env.local~/.bash_rc~/.bash_profile などで環境変数として定義されています。
.env.env.localに定義された環境変数は、アプリケーション実行時にしか呼ぶことはできません。
.envには様々な環境での共通設定を、.env.localには環境固有のものや機密性の高いDBとの接続情報などを設定してください。
config.nims.env.local.gitignoreによってGit管理されないようになっています。

コンパイル時に呼ばれる環境変数

変更を適用するには再度コンパイルする必要があります。

SECRET_KEY :string

セッションIDなどの暗号化に使われる24文字のキーです。

DB_DRIVER :string = "sqlite"

接続先RDBの種類です。sqlitemysqlpostgresのいずれかになります。

SESSION_TYPE :string = "file"

セッションDBの種類です。fileredisのいずれかになります。

サンプル config.nims

putEnv("SECRET_KEY", "abcdefghijklmnopqrstuvwx")
putEnv("DB_DRIVER", "sqlite") # "sqlite" or "mysql" or "postgres"
putEnv("SESSION_TYPE", "file") # "file" or "redis"

実行時に呼ばれる環境変数

変更を適用するには再度アプリケーションを起動してください。

DB_CONNECTION :string = "sqlite"

接続先RDBの場所です。Sqliteを使う場合にはファイルの絶対パス、MySQL, PostgreSQLを使う場合にはホスト:ポートを指定してください。

DB_USER :string = ""

RDBに接続するためのユーザー名です。

DB_PASSWORD :string = ""

RDBに接続するためのパスワードです。

DB_DATABASE :string = ""

接続先RDBのデータベース名です。

DB_MAX_CONNECTION :int = 1

RDBに非同期接続する時に作るコネクションプールの数です。
アプリケーションをマルチスレッドで動かす場合には、「接続可能数 / スレッド数」になるようにしてください。


LOG_IS_DISPLAY :bool = true

ログをターミナルに表示するならtrueを、しないならfalseを設定してください。

LOG_IS_FILE :bool = true

ログをファイル出力するならtrueを、しないならfalseを設定してください。

LOG_IS_ERROR_FILE :bool = true

エラーログをファイル出力するならtrueを、しないならfalseを設定してください。

LOG_DIR :string = getCurrentDir() / "logs"

ログ出力先ディレクトリの絶対パスです。


SESSION_DB_PATH :string = getCurrentDir() / "session.db"

接続先セッションDBの場所です。
ファイルセッションを使う場合にはファイルの絶対パスを、Redisを使う場合にはホスト:ポートを設定してください。

SESSION_TIME :int = 20160

セッションタイムアウトになる期限を分で設定してください。

ENABLE_ANONYMOUS_COOKIE :bool = true

匿名ユーザーにクッキーを発行するならtrueを、しないならfalseを設定してください。

COOKIE_DOMAINS :string = ""

クッキーを発行する対象ドメインを設定してください。

HOST :string = "0.0.0.0"

サーバーを起動するホスト名です。

LOCALE :string = "en"

バリデーションメッセージを表示する言語です。

言語 環境変数
英語 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)