콘텐츠로 이동

환경 변수

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

PORT 선택 Railway에서는 안 쓰임

섹션 제목: “PORT ”

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

BIND 선택 Railway에서는 안 쓰임

섹션 제목: “BIND ”

서버가 수신할 주소. 유효한 IP 주소나 localhost여야 합니다.

DATABASE_URL Railway에서는 안 쓰임

섹션 제목: “DATABASE_URL ”

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

SECRET_KEY Railway에서는 안 쓰임

섹션 제목: “SECRET_KEY ”

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

openssl rand -hex 32

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

기본값은 UTC입니다.

BEHIND_PROXY 선택 Railway에서는 안 쓰임

섹션 제목: “BEHIND_PROXY ”

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

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

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

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

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

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

REMOTE_ACTOR_FETCH_POSTS 선택

섹션 제목: “REMOTE_ACTOR_FETCH_POSTS ”

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

기본값은 10입니다.

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

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

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

이 옵션을 true로 설정하면 날 HTML을 Markdown 사이에 쓸 수 있습니다. (Markdown은 Hollo에서 프로필 소개나 게시물 내용 등에 사용됩니다.) Markdown에서 지원하는 서식보다 더 다양한 서식을 사용하고 싶을 때 유용하지만, XSS 공격을 막기 위해 HTML 태그와 속성이 어느 정도 제한됩니다.

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

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

기본값은 info입니다.

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

기본값은 false입니다.

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

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

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

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

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

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

미디어 파일들을 서빙할 URL의 앞 부분. 예: https://media.hollo.social.

DRIVE_DISK=fs인 경우, 로컬 파일시스템에 저장된 파일들을 웹에서 접근할 수 있도록 하려면 https://<호스트>/assets 형태로 설정해야 합니다. 예: https://hollo.example.com/assets.

FS_STORAGE_PATH FS 드라이버에서 필수

섹션 제목: “FS_STORAGE_PATH ”

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

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

섹션 제목: “S3 호환 오브젝트 스토리지 설정”

S3_REGION S3 드라이버에서 필수

섹션 제목: “S3_REGION ”

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

S3_BUCKET S3 드라이버에서 필수

섹션 제목: “S3_BUCKET ”

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

S3_ENDPOINT_URL S3 드라이버에서 필수

섹션 제목: “S3_ENDPOINT_URL ”

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

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

AWS_ACCESS_KEY_ID S3 드라이버에서 필수

섹션 제목: “AWS_ACCESS_KEY_ID ”

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

AWS_SECRET_ACCESS_KEY S3 드라이버에서 필수

섹션 제목: “AWS_SECRET_ACCESS_KEY ”

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