Portainer를 사용하여 Discourse 설치하기

지식 부족해 보이는 것이 싫어서, 이 런처 유틸리티가 어디 있는지 궁금합니다. 가져온 Docker 이미지에서 /discourse 경로를 살펴봤는데 스크립트를 찾을 수 없었는데요… 혹시 제가 잘못 보고 있는 건가요? 아마도 표준 Ubuntu Docker 컨테이너를 실행하고, 표준 설치인 것처럼 모든 것을 직접 구성해서 테스트할 것 같습니다.

이런 설명서를 찾았습니다:

Bitnami Discourse Docker 이미지를 가져오는 권장 방법은 Docker Hub 레지스트리에서 사전 빌드된 이미지를 가져오는 것입니다.

docker pull bitnami/discourse:latest

특정 버전을 사용하려면 버전 태그를 지정하여 가져올 수 있습니다. 사용 가능한 버전 목록은 Docker Hub 레지스트리의 여기에서 확인할 수 있습니다.

docker pull bitnami/discourse:[TAG]

원하는 경우 저장소를 클론하고, Dockerfile이 포함된 디렉토리로 이동한 뒤 docker build 명령을 실행하여 이미지를 직접 빌드할 수도 있습니다. 아래 예제 명령에서 APP, VERSION, OPERATING-SYSTEM 경로 플레이스홀더를 올바른 값으로 대체하는 것을 잊지 마세요.

git clone https://github.com/bitnami/containers.git
cd bitnami/APP/VERSION/OPERATING-SYSTEM
docker build -t bitnami/APP:latest .

이 이미지 사용 방법

Discourse는 정보를 저장하기 위해 PostgreSQL 데이터베이스에 대한 접근이 필요합니다. 데이터베이스 요구 사항을 위해 Bitnami PostgreSQL Docker 이미지를 사용할 것입니다.

Docker 명령줄 사용

1단계: 네트워크 생성

docker network create discourse-network

2단계: PostgreSQL 영속성을 위한 볼륨 생성 및 PostgreSQL 컨테이너 생성

$ docker volume create --name postgresql_data
docker run -d --name postgresql \
  --env ALLOW_EMPTY_PASSWORD=yes \
  --env POSTGRESQL_USERNAME=bn_discourse \
  --env POSTGRESQL_PASSWORD=bitnami123 \
  --env POSTGRESQL_DATABASE=bitnami_discourse \
  --network discourse-network \
  --volume postgresql_data:/bitnami/postgresql \
  bitnami/postgresql:latest

3단계: Redis 영속성을 위한 볼륨 생성 및 Redis 컨테이너 생성

$ docker volume create --name redis_data
docker run -d --name redis \
  --env ALLOW_EMPTY_PASSWORD=yes \
  --network discourse-network \
  --volume redis_data:/bitnami/redis \
  bitnami/redis:latest

4단계: Discourse 영속성을 위한 볼륨 생성 및 컨테이너 시작

$ docker volume create --name discourse_data
docker run -d --name discourse \
  -p 8080:8080 -p 8443:8443 \
  --env ALLOW_EMPTY_PASSWORD=yes \
  --env DISCOURSE_DATABASE_USER=bn_discourse \
  --env DISCOURSE_DATABASE_PASSWORD=bitnami123 \
  --env DISCOURSE_DATABASE_NAME=bitnami_discourse \
  --env DISCOURSE_HOST=www.example.com \
  --network discourse-network \
  --volume discourse_data:/bitnami/discourse \
  bitnami/discourse:latest

5단계: Sidekiq 컨테이너 시작

docker run -d --name sidekiq \
  --network discourse-network \
  --volume discourse_data:/bitnami/discourse \
  bitnami/discourse:latest /opt/bitnami/scripts/discourse-sidekiq/run.sh

http://your-ip/에서 애플리케이션에 액세스하세요.

Docker Compose를 사용하여 애플리케이션 실행
curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/discourse/docker-compose.yml > docker-compose.yml
docker-compose up -d

이 파일은 내부 테스트를 거치지 않았다는 점을 유념해 주세요. 따라서 개발 또는 테스트 목적으로만 사용을 권장합니다. 프로덕션 환경 배포에는 관련 Bitnami Helm 차트 사용을 강력히 권장합니다.

docker-compose.yaml 파일에서 문제를 발견하신 경우, 기여 가이드라인을 따라 문제를 보고하거나 수정 사항을 기여할 수 있습니다.

Discourse 문제 해결

콘솔에서 관리자 계정 만들기와 같은 Discourse 관리 명령을 실행해야 하는 경우, 컨테이너 내부에서 셸을 실행하고 적절한 환경 변수를 설정하여 실행하면 됩니다.

cd /opt/bitnami/discourse
RAILS_ENV=production bundle exec rake admin:create