감사합니다. 모두 이해가 됩니다.
아니요! 핵심 원칙 중 하나는 모든 것이 표준 설치 환경과 동일하게 유지된다는 것입니다. pfaffmanager에 특화된 종속성은 전혀 없습니다. 누군가가 여기에서 리빌드, 플러그인 추가, 또는 app.yml에 환경 변수 추가와 같은 조치가 필요하다고 판단한다면, pfaffmanager는 ssh가 무엇인지 알고 명령어를 입력할 수 있는 사람인 것처럼 정확히 동일한 작업을 수행합니다. 설치는 discourse-setup을 사용하고, 업그레이드는 ./launcher rebuild를 실행합니다(2컨테이너 구성의 경우 bootstrap, destroy, start). Postgres가 오래된 버전이라면 PostgreSQL 13 업데이트의 절차를 따르며, 이 외에도 마찬가지입니다. 선택적 지원 플러그인을 만들 유혹을 몇 번 받았지만, 가능한 한 이를 피하고 싶습니다. 이미 Ansible, Rails, Ember를 다루고 있는데, 또 다른 요소를 추가하는 것은 매력적이지 않습니다.
하지만 그 runner 부분은 큰 도움이 되었습니다. 새로 빌드된 컨테이너가 재시작된 후 다음 명령어를 실행할 것입니다:
docker exec web_only bash -c 'rails runner AdminDashboardGeneralData.refresh_stats'
정말 감사합니다. 제가 필요했던 바로 그 것이었습니다.