본문으로 건너뛰기

.env 파일을 사용해 Daki Hosting에서 애플리케이션의 환경 변수를 설정하는 방법.

환경 변수를 사용하면 Discord 봇 토큰이나 API 키 같은 설정 값을 소스 코드에 직접 적지 않고 애플리케이션에 전달할 수 있어요. Daki Hosting에서는 Portal의 파일 관리자나 SFTP로 서버에 .env 파일을 직접 만드는 방법을 권장해요.

배울 내용

  • 환경 변수가 무엇이고 왜 중요한지
  • 서버에 .env 파일을 만드는 방법
  • Node.js와 Python에서 .env 값을 불러오는 방법
  • 시크릿을 안전하게 보관하는 모범 사례

환경 변수란 무엇인가요?

환경 변수는 실행 중인 애플리케이션이 실행 환경에서 읽을 수 있는 키-값 쌍이에요. 다음 용도로 쓰는 표준 방법이에요:

  • 민감한 값(토큰, API 키, 비밀번호)을 코드와 분리해서 보관
  • 소스 파일을 수정하거나 다시 배포하지 않고 설정 변경
  • 시크릿이 버전 관리에 커밋되는 것을 방지

.env 파일 만들기

Daki에서 환경 변수를 관리하는 가장 간단하고 안정적인 방법은 서버에 .env 파일을 만드는 거예요. 두 가지 방법이 있어요:

방법 1: 파일 관리자 사용하기 (간단한 편집)

  1. Portal(portal.daki.cc)에서 서버를 여세요.
  2. Files 탭으로 이동하세요.
  3. New File을 클릭하고 이름을 .env로 지정하세요.
  4. 파일을 클릭해서 웹 편집기로 열고 변수를 추가하세요:
    .env
    BOT_TOKEN=your_discord_bot_token_here
    PORT=3000
    DATABASE_URL=your_db_connection_string
  5. Save를 클릭하세요.
  6. 서버를 재시작하세요.

SFTP로 서버에 연결하고(자격 증명은 Settings 탭에 있어요) 로컬 컴퓨터의 .env 파일을 직접 업로드하세요. SFTP 설정 방법은 파일 관리자를 참고하세요.

.env 파일을 공개 Git 저장소에 절대 커밋하지 마세요. 시크릿이 실수로 노출되지 않도록 .gitignore 파일에 .env를 추가하세요.


애플리케이션에서 .env 값 불러오기

애플리케이션은 .env 파일을 자동으로 읽지 않아요 — 파일을 환경으로 불러올 라이브러리가 필요해요.

패키지를 설치하세요(package.json에 의존성으로 추가):

JSON
{
  "dependencies": {
    "dotenv": "^16.0.0"
  }
}

진입 파일의 맨 위에서 불러오세요:

JavaScript
require('dotenv').config();

const token = process.env.BOT_TOKEN;
const port  = process.env.PORT || 3000;

.env 파일 형식

.env 파일의 각 줄은 KEY=VALUE 형식을 따라요:

.env
# Comments start with a hash
BOT_TOKEN=your_token_here
API_KEY=some_api_key
DB_HOST=localhost
DB_PORT=5432
DEBUG=false
  • 키는 보통 대문자와 밑줄을 사용해요.
  • 값에는 따옴표가 필요하지 않지만, 따옴표도 지원돼요.
  • #으로 시작하는 줄은 주석이며 무시돼요.

모범 사례

  • 토큰이나 시크릿을 소스 코드에 하드코딩하지 마세요, 특히 코드가 GitHub에 있다면 더더욱요.
  • .env를 .gitignore에 추가하세요. 그래야 실수로 커밋되지 않아요.
  • .env 파일은 로컬이 아니라 서버에서 만드세요 — 또는 버전 관리에서 제외한 로컬 .env를 SFTP로 업로드하세요.
  • .env 파일을 만들거나 수정한 뒤에는 서버를 재시작하세요.
  • 설정이 스스로 설명되도록 알아보기 쉬운 키 이름을 사용하세요.

다음 단계