컨텐츠로 건너뛰기

환경 변수

Hollo는 환경 변수를 통해 여러 가지 설정을 할 수 있습니다. 환경 변수는 프로젝트 최상위 디렉터리에 .env 파일을 만들거나, Docker의 -e/--env 옵션을 쓰거나, Railway의 environment variables 메뉴에서 설정할 수 있습니다.

기본 설정

PORT 선택 Railway에서는 안 쓰임

서버가 수신할 포트 번호. 기본값은 3000입니다.

DATABASE_URL Railway에서는 안 쓰임

PostgreSQL 데이터베이스의 URL. 예: postgresql://hollo:password@localhost/hollo.

SECRET_KEY Railway에서는 안 쓰임

세션을 보호하기 위한 비밀 키. 다음 명령어로 안전한 무작위 비밀 키를 생성 가능합니다:

openssl rand -hex 32

TZ 선택

애플리케이션의 시간대(time zone). 유효한 시간대 식별자여야 합니다. 예: UTC, America/New_York, Asia/Seoul.

기본값은 UTC입니다.

BEHIND_PROXY 선택 Railway에서는 안 쓰임

Hollo가 리버스 프록시 뒤에 있는 경우 true로 설정하세요. Hollo가 L7 로드 밸런서 뒤에 위치할 경우 (일반적으로 그래야 합니다), 이 옵션을 켜세요.

기본적으로는 꺼져 있습니다.

ALLOW_PRIVATE_ADDRESS 선택

이 옵션을 true로 설정하면 서버 측 요청 위조(SSRF) 공격 방지를 풉니다.

로컬 네트워크에서 테스트할 때 이 옵션을 켜야 할 수 있습니다.

기본적으로는 꺼져 있습니다.

부가 기능

HOME_URL 선택

설정될 경우, 첫 페이지 접속 시 이 URL로 리다이렉트됩니다. 설정되지 않을 경우, 첫 페이지에서 인스턴스 내 계정 목록이 보입니다.

REMOTE_ACTOR_FETCH_POSTS 선택

원격 액터와 처음으로 조우하게 되었을 때 가져올 최신 공개 게시물의 수.

기본값은 10입니다.

TIMELINE_INBOXES 선택

이 옵션을 true로 설정하면 타임라인이 수신함처럼 작동합니다. 즉, 타임라인에 표시될 게시물들이 실시간으로 필터링되는 것이 아니라, 미리 추출된 게시물들이 데이터베이스에 저장됩니다. 이 기능은 많은 원격 게시물을 수신하는 상대적으로 큰 인스턴스에서 유용합니다.

Hollo 0.4.0 시점에서 이 기능은 실험적이며, 버그가 있을 수 있습니다. 하지만 이 기능은 안정화된 뒤에 기본 동작으로 바뀔 예정입니다.

기본적으로는 꺼져 있습니다.

로그 및 디버그

LOG_LEVEL 선택

애플리케이션의 로그 레벨. debug, info, warning, error, fatal 중 택일.

기본값은 info입니다.

LOG_QUERY 선택

SQL 쿼리를 로그에 남기려면 true로 설정하세요.

기본값은 false입니다.

LOG_FILE 선택

구조화된 로그를 쓸 파일의 경로를 지정하세요. 콘솔에 출력되는 로그와는 다르게, 이 로그는 JSON Lines 형식으로 기록됩니다.

SENTRY_DSN 선택

오류 리포트와 트레이스를 보낼 Sentry 프로젝트의 DSN.

미디어 저장소

DRIVE_DISK

Hollo에서 프로필 사진, 커스텀 에모지, 기타 미디어와 같은 파일들을 저장할 디스크 드라이버.

선택지는 fs (로컬 파일시스템) 또는 s3 (S3 호환 오브젝트 스토리지) 중 하나입니다.

하위 호환성을 위해 s3가 기본값이지만, 앞으로는 기본값이 사라질 예정이므로 명시적으로 설정하는 것이 좋습니다.

드라이버에 관해 자세히 알아보려면 FlyDrive 문서(영문)를 참고하세요.

로컬 파일시스템 설정

FS_ASSET_PATH FS 드라이버에서 필수

로컬 파일시스템에서 파일들을 저장할 경로. 예: /var/lib/hollo.

S3 호환 오브젝트 스토리지 설정

ASSET_URL_BASE S3 드라이버에서 필수

미디어 파일들을 서빙할 URL의 앞 부분. 예: https://hollo.s3.us-east-1.amazonaws.com.

S3_REGION 선택

S3 호환 오브젝트 스토리지의 지역. 예: us-east-1. 몇몇 AWS가 아닌 S3 호환 서비스에서는 이 값이 필요 없을 수 있습니다.

기본값은 auto입니다.

S3_BUCKET S3 드라이버에서 필수

S3 호환 오브젝트 스토리지의 버킷 이름. 예: hollo.

S3_ENDPOINT_URL S3 드라이버에서 필수

S3 호환 오브젝트 스토리지의 엔드포인트 URL. 예: https://s3.us-east-1.amazonaws.com.

S3_FORCE_PATH_STYLE 선택

S3 호환 오브젝트 스토리지에 대해 경로 스타일 URL을 강제할지 여부 (true 혹은 false). AWS가 아닌 S3 호환 서비스에서 유용합니다. 기본적으로는 꺼져 있습니다.

AWS_ACCESS_KEY_ID S3 드라이버에서 필수

S3 호환 오브젝트 스토리지 액세스 키.

AWS_SECRET_ACCESS_KEY S3 드라이버에서 필수

S3 호환 오브젝트 스토리지 비밀 키.