시냅스/매트릭스 서버 컨테이너 구성 권한/파일이 거부되었습니다.

시냅스/매트릭스 서버 컨테이너 구성 권한/파일이 거부되었습니다.

아래에 내가 게시한 답변은 아직 내 답변을 수락할 수 없습니다.

저는 채팅 클라이언트에서 작업 중입니다. 개발을 위해 '생성' 명령을 사용하여 실제 서비스를 시작하는 데 조정하고 사용할 수 있는 구성 파일을 생성하는 docker 설정을 사용합니다. 내 데스크톱에서는 잘 작동하지만 내 노트북의 respberry 또는 별도의 HD에서 실행하려고 하면 빌드 프로세스에서 권한이 거부되었다는 파일 처리기 오류가 발생합니다.

나는 여기에서 완전히 멍청한 사람일지도 모르지만 랩톱에서 폴더 마운트 지점 권한을 변경했으며 라즈베리에는 폴더에 대한 권한이 설정되어 있습니다.

Docker는 또한 모든 명령에 대해 sudo를 입력하지 않고도 실행되도록 설정되어 있습니다.

작업 및 비작동 구성 파일에 대한 권한 코드는 다음과 같습니다.

# Auto generated, working local
-rwxrwxrwx 1 root root 103443 <date> <filename>
# Auto generated not working pi and laptop
-rw-r--r-- 1 991 991 106030 <date> <filename>

하드 드라이브를 올바르게 설정하지 않은 것일까요? 기본 OS 파티션에 있는지 여부에 관계없이 내 pi에서 이 오류가 발생합니다. 문제 없이 리버스 프록시를 사용하여 django를 시작하고 제공할 수 있습니다.

제가 구축하고 있는 채팅 서비스는 매트릭스/시냅스입니다. 다음은 기본 설정이 포함된 시냅스 서버 저장소의 docker 폴더입니다. 문제를 일으키는 파일은 다음에서 생성된 homeserver.yml입니다.

docker-compose run --rm synapse generate

답변1

실제로 루트에서는 Linux 권한 헛소리가 아닙니다.

이것은 여러 장치에서 발생했기 때문에 가장 최근의 시냅스 도커 저장소 푸시의 부작용일 수 있습니다. docker에 대한 수동 설정의 일부를 직접 지정하여 해결했습니다. 이 솔루션은 다른 구성 관련 문제에 유용할 수 있습니다.

해결되었습니다. 정확한 솔루션이 더 나은 방법으로 적용될 수 있습니다.

대본:

다음에 대한 구성 생성시냅스시냅스를 위한 도커 컨테이너를 만드는 데 사용되는 서버입니다. 목표는 행렬고객.

문제:

구성('homeserver.yaml')이 성공적으로 생성된 후 해당 구성을 사용하는 시냅스 빌드는 파일(컨테이너 내부)을 읽을 수 없음을 나타내는 Python 스택 추적과 함께 권한 오류를 발생 service exit 1시킵니다 docker logs service.

해결책:

이러한 설정 중 일부는 env 변수를 사용하여 설정할 수 있습니다. 시냅스 추가 정보를 참조하세요. 확인 후매트릭스/시냅스docker repo 최근에 자주 업데이트된 기록을 발견했습니다. 내 시스템이 문제를 일으켰거나 컨테이너의 최근 구성 설정에 문제가 있습니다. 그래서 나는 일반적으로 자동화된 작업 중 일부를 직접 수행했습니다.

  • 시냅스가 conf('homeserver.yml')와 함께 사용하는 폴더를 생성했습니다. 바인드 마운트를 사용하는 경우(repo 페이지에서와 같이) 도커 볼륨은 여기에 있을 것입니다. /var/lib/docker/volumes/<name of bind mount>/_data 여기서는 media_store, 업로드, 로그를 생성하려고 합니다.

  • 'homeserver.yml'에서 생성된 폴더 이름을 찾아 경로가 이를 가리키는지 확인하세요.

  • 기본 그룹을 할당하고 시냅스 저장소 지침을 바로 따릅니다.

    # UID & GID default to 991
    chown 991:991 media_store/ uploads/ logs/
    
    
  • 로그 설정 핸들러를 로그 폴더로 지정하면 이 구성을 설정할 때 로그 파일이 존재하지 않습니다. 로그 처리기 파일은 .log.config에서 찾을 수 있습니다.

    handlers:
     file:
         filename: /data/logs/homeserver.log
    

관련 정보