정말 좋은 지적입니다. 이 스크립트가 루트 권한 없이 실행될 수 없는 데에는 정말 그럴 만한 이유가 없습니다.
실제로 루트 권한이 필요한 것은 설정 스크립트뿐이며, 인터넷에서 가져온 Docker 설치 스크립트를 실행하도록 제안하는 위험한 부분을 처리하기 위해서입니다. 따라서 이 부분조차도 루트 권한 없이 실행되도록 변경할 수 있습니다.
런처 스크립트는 루트 권한이 필요하지 않으며, /var/discourse에 대한 쓰기 접근 권한과 Docker 컨테이너를 관리할 수 있는 권한만 있으면 됩니다.