dotEnv guide - redgoose-dev/goose-api GitHub Wiki

Make .env file

μ΅œμ΄ˆμ— ./script.sh ready λͺ…λ ΉμœΌλ‘œ ν”„λ‘œκ·Έλž¨μ„ μΈνŠΈν†¨μ„ ν• λ•Œ .envνŒŒμΌμ„ λ§Œλ“­λ‹ˆλ‹€.
원본은 resource/.env.exampleνŒŒμΌμ—μ„œ λ³΅μ‚¬ν•˜κΈ° λ•Œλ¬Έμ— 원본 섀정값을 μ°Έκ³ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. .env 파일이 μ‚­μ œλ˜μ—ˆλ‹€λ©΄ μ›λ³ΈνŒŒμΌμ„ μ°Έκ³ ν•˜μ—¬ μƒˆλ‘œ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.

.env values guide

.env에 λ“€μ–΄μžˆλŠ” 섀정값듀에 λŒ€ν•œ κ°€μ΄λ“œμž…λ‹ˆλ‹€.

SERVICE_NAME

μ‚¬μš©ν•˜λŠ” μ„œλΉ„μŠ€ μ΄λ¦„μž…λ‹ˆλ‹€.


TOKEN_KEY

토큰을 λ§Œλ“€κΈ°μœ„ν•œ key κ°’μž…λ‹ˆλ‹€.

이 값이 λ³€ν•˜λ©΄ 토큰을 μƒˆλ‘œ λ§Œλ“€μ–΄μ•Ό ν•©λ‹ˆλ‹€.
λ°˜λ“œμ‹œ μ΅œλŒ€ν•œ μ–΄λ €μš΄ 문자둜 μ‚¬μš©ν•˜μ„Έμš”!

TOKEN_ID

토큰 해석을 λ”μš± μ–΄λ ΅κ²Œ λ§Œλ“€μ–΄μ§„ κ³ μœ κ°’μž…λ‹ˆλ‹€.

이 값이 λ³€ν•˜λ©΄ 토큰을 μƒˆλ‘œ λ§Œλ“€μ–΄μ•Ό ν•©λ‹ˆλ‹€.

TOKEN_ACCESS_DAY

μ—‘μ„ΈμŠ€ 토큰 λ§Œλ£ŒκΈ°κ°„μž…λ‹ˆλ‹€. (λ‹¨μœ„:day)

μ‚¬μš©μž λ‘œκ·ΈμΈν–ˆμ„λ•Œ λ§Œλ“€μ–΄μ§„ 토큰에 적용되며 λ§Œλ£ŒκΈ°κ°„μ΄ μ§€λ‚¬μ„λ•Œ APIμš”μ²­μ„ ν•˜λ©΄ _token μ΄λ¦„μ˜ κ°’μœΌλ‘œ μƒˆλ‘œ λ§Œλ“€μ–΄μ§„ 토큰을 λ°˜ν™˜ν•˜λ―€λ‘œ headersμ—μ„œ ꡐ체해쀄 ν•„μš”κ°€ μžˆμŠ΅λ‹ˆλ‹€.

TOKEN_REFRESH_DAY

μž¬λ°œκΈ‰κΉŒμ§€μ˜ 토큰 λ§Œλ£ŒκΈ°κ°„μž…λ‹ˆλ‹€. (λ‹¨μœ„:day)

TOKEN_ACCESS_DAY 기간이 μ§€λ‚œ access token이 만료되면 TOKEN_REFRESH_DAY 기간내에 기간이 μ—°μž₯된 토큰을 λ§Œλ“€μ–΄μ€λ‹ˆλ‹€.
μ—¬κΈ°μ—μ„œ μ„€μ •λœ 기간이 μ§€λ‚˜λ©΄ 토큰을 μ™„μ „νžˆ λͺ»μ“°κ²Œ λ©λ‹ˆλ‹€.


PATH_URL

http://... λΆ€ν„° μ‹œμž‘λ˜λŠ” μ™ΈλΆ€μ—μ„œ μ ‘μ†λ˜λŠ” 루트 url값을 μž…λ ₯ν•΄μ€λ‹ˆλ‹€.

이 값이 λ³€ν•˜λ©΄ 토큰을 μƒˆλ‘œ λ§Œλ“€μ–΄μ•Ό ν•©λ‹ˆλ‹€.

PATH_RELATIVE

μ„œλ²„ λ‚΄λΆ€μ—μ„œ μ„œλΈŒ λ””λ ‰ν† λ¦¬μ—μ„œ μ‚¬μš©λœλ‹€λ©΄ μƒλŒ€κ²½λ‘œλ₯Ό μž…λ ₯ν•΄μ£Όμ„Έμš”. ex) /goose-api
λΌμš°ν„°κ°€ μΈμ‹ν•˜λŠ” 루트 패슀의 기쀀점이 되기 λ•Œλ¬Έμ— 이 값이 잘λͺ»λ˜λ©΄ μ£Όμ†Œ 인식이 잘 μ•ˆλ©λ‹ˆλ‹€.


DB_HOST

mysql host

DB_PORT

mysql port

DB_DATABASE

λ°μ΄ν„°λ©”μ΄μŠ€ 이름

DB_USERNAME

λ°μ΄ν„°λ² μ΄μŠ€ μ‚¬μš©μž 아이디

DB_PASSWORD

λ°μ΄ν„°λ² μ΄μŠ€ μ‚¬μš©μž λΉ„λ°€λ²ˆν˜Έ


DEBUG

{true|false}

디버그λͺ¨λ“œλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.
이것을 μ‚¬μš©ν•˜λ©΄ 응닡 λ°›μ„λ•Œ κ°œλ°œμ— ν•„μš”ν•œ λͺ‡κ°€μ§€ 값듀을 κ°€μ Έμ˜΅λ‹ˆλ‹€.

μ‹€μ§ˆμ μœΌλ‘œ μ„œλΉ„μŠ€ν•˜κ²Œλ˜λ©΄ λ°˜λ“œμ‹œ false둜 λ°”κΎΈμ„Έμš”!!!


USE_CHECK_OPTIONS_METHOD

{true|false}

λΈŒλΌμš°μ €μ—μ„œ METHOD=POSTν˜•μ‹μœΌλ‘œ μš”μ²­ν•˜λ©΄ (예λ₯Όλ“€μ–΄ λ‘œκ·ΈμΈκ°™μ€κ²½μš°..) λ©”μ„œλ“œλ₯Ό optionsν˜•μ‹μœΌλ‘œ μš”μ²­μ„ ν•œλ²ˆν•˜κ³  μ„œλ²„μ—λ‹€ μš”μ²­ν•΄λ„ λ˜λŠ”μ§€ ν™•μΈν•˜κ³  λ‹€μ‹œ μš”μ²­ν•©λ‹ˆλ‹€. (λ³΄μ•ˆμ μΈ 츑면인 이유..)
κ·Έλž˜μ„œ μ„œλ²„μ˜ ν—€λ”μ—μ„œ 헀더λ₯Ό 섀정해쀄 ν•„μš”κ°€ μžˆμŠ΅λ‹ˆλ‹€. λ§Œμ•½μ— μ„œλ²„μ—μ„œ 헀더λ₯Ό μ„€μ •ν•  수 μ—†λ‹€λ©΄ phpκ°€ μ‹€ν–‰λ˜λŠ” APIμ—μ„œ μ„€μ •ν•  수 μžˆλ„λ‘ μ€€λΉ„ν•΄λ‘μ—ˆμŠ΅λ‹ˆλ‹€.

μ„œλ²„μ—μ„œμ˜ 섀정은 λŒ€λž΅μ μœΌλ‘œ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€. (nginx)

header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Credentials: true");
header('Access-Control-Allow-Headers: X-Requested-With');
header('Access-Control-Allow-Headers: Content-Type');
header('Access-Control-Allow-Headers: Authorization');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
header('Access-Control-Max-Age: 86400');

api와 μ„œλ²„(apache or nginx)μ—μ„œ λ™μ‹œμ— 섀정이 λ˜μ–΄μžˆμœΌλ©΄ μ—¬λŸ¬λ²ˆ 헀더가 μ„€μ •λ˜μ–΄μžˆλ‹€κ³  μž‘λ™λ˜μ§€ μ•Šμ•„μ„œ μ΄λ ‡κ²Œ μ‚¬μš©ν• μ§€ μ•ˆν• μ§€μ— λŒ€ν•œ 값을 μΆ”κ°€ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.


TIMEZONE

κΈ°λ³Έ time zone μ„€μ •ν•©λ‹ˆλ‹€.

νƒ€μž„μ‘΄μ˜ λͺ©λ‘μ€ List of Supported TimezonesνŽ˜μ΄μ§€λ₯Ό μ°Έκ³ ν•˜μ„Έμš”.

LANGUAGE

좜λ ₯λ˜λŠ” λ©”μ‹œμ§€λ“€μ— λŒ€ν•œ μ–Έμ–΄μ„€μ •


FILE_LIMIT_SIZE

파일 μ—…λ‘œλ“œ μ‚¬μ΄μ¦ˆ μ œν•œμš©λŸ‰ (λ‹¨μœ„:byte)

FILE_ALLOW_TYPE

파일 μ—…λ‘œλ“œ ν—ˆμš©ν•˜λŠ” νŒŒμΌνƒ€μž…


DEFAULT_INDEX_SIZE

λͺ©λ‘μ„ λ°›μ•„μ˜¬λ•Œ ν•œλ²ˆμ— λͺ‡κ°œμ”© κ°€μ Έμ˜¬μ§€μ— λŒ€ν•˜μ—¬ μ •ν•˜λŠ” κΈ°λ³Έκ°’μž…λ‹ˆλ‹€.

DEFAULT_UPLOAD_DIR_NAME

파일 μ—…λ‘œλ“œν• λ•Œ μ‚¬μš©λ˜λŠ” μ„œλΈŒ 디렉토리 이름 κΈ°λ³Έκ°’μž…λ‹ˆλ‹€.