【Nextcloud(Docker)】초보자가 집 파일 서버를 세우기 위해 한 일

5473 단어 nextcloud도커NAS

소개



파일 서버를 세우는데 있어서, 비교적 간단하게 실현할 수 있을 것 같고, 꽤 편리할 것 같은 Nextcloud를 채용하기로 했습니다.
다만, 수동 인스톨 작업으로 번거롭거나, 다음 번 지을 때에 순서 서대로 진행하지 않거나 하는 것이 싫기 때문에, Docker 환경을 고집했습니다.
넷상에 확인할 수 있는 정보로는 불만·불충분한 부분이 있었으므로, 나름대로 개량하고 있습니다.

덧붙여 시험에 사용하고 싶었을 뿐이므로, 최소한의 설정으로 하고 있습니다.

절차


  • Docker 환경에서 Nextcloud 만들기
  • GUI로 각종 설정하기
  • 포트 열기
  • 클라이언트 소프트웨어를 배포합니다.

  • 1. Docker 환경에서 Nextcloud 구축



    다음 두 파일을 동일한 디렉토리에 준비합니다.

    docker-compose
    version: "3"
    
    services:
      db:
        image: mariadb:10.5
        restart: unless-stopped
        command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
        volumes:
          - type: volume
            source: db
            target: /var/lib/mysql
        env_file:
          - ./db.env
    
      app:
        image: nextcloud:22.2.0-apache
        restart: unless-stopped
        ports:
          - 8080:80
        volumes:
          - type: volume
            source: app
            target: /var/www/html
        environment:
          - MYSQL_HOST=db
        env_file:
          - ./db.env
        depends_on:
          - db
    
    volumes:
      db:
        name: nextcloud_db
      app:
        name: nextcloud_app
    

    볼륨 이름 지정이 중요합니다.
    지정하지 않으면 상위 디렉토리 이름을 포함하는 볼륨이 작성됩니다.
    그 때문에, 친디렉토리명을 바꾸는 것만으로 과거의 데이터가 계승하지 않게 되어 버리기 때문에, 지정해 두면 좋을 것입니다.

    또, 개인적으로는 바인드 마운트를 이용하고 싶었습니다만, 적어도 Windows 환경에 있어서 응답이 현저하게 악화되었기 때문에 볼륨 마운트로 했습니다.

    db.env
    MYSQL_ROOT_PASSWORD=password
    MYSQL_USER=nextcloud
    MYSQL_PASSWORD=password
    MYSQL_DATABASE=nextcloud
    PHP_UPLOAD_LIMIT=2048M
    NEXTCLOUD_TRUSTED_DOMAINS=「ポート開放する場合はサーバアドレスを入力」
    

    기본적으로 파일당 최대 업로드 크기는 512MB입니다.PHP_UPLOAD_LIMIT를 지정하여 2048MB로 확장합니다.
    생성된 컨테이너의 /usr/local/etc/php/conf.d/nextcloud.ini를 살펴보면 PHP_UPLOAD_LIMIT라는 환경 변수를 참조했음을 확인할 수 있었기 때문에 이렇게 했습니다.
    공식 문서나 다른 사이트에서 확인한 것은 아니기 때문에, 다른 좋은 방법이 있을지도 모릅니다만, 이것으로 정상적으로 동작은 하고 있습니다.

    2. GUI로 각종 설정을 한다.



    잠시 기다리면 http://localhost:8080에 다음과 유사한 화면이 표시됩니다.
    적절한 사용자 이름과 암호로 관리자 계정을 만듭니다.



    그리고는 사용자 계정을 작성하는 등, 그 밖에 자유롭게 설정해 갑니다.

    3. 포트 개방



    가장 어색했던 작업입니다.

    우리 집은 집합 주택을위한 공급자 계약이었고 글로벌 IPv4 주소가 할당되지 않았습니다.
    또한 우리 집의 계약에서는 IPv6 over IPv4에서 VPN을 이용할 수 없는 것 같고, VPN도 단념했습니다.
    어쩔 수 없기 때문에 IPv6의 포트 개방으로 타협했습니다.
    다행히도, 자신의 주위의 네트워크는 모두 IPv6에 대응하고 있기 때문에, 문제 없게 파일 공유할 수 있을 것입니다만, 하지만 부담없이 타인과 링크에 의한 파일 공유 등은 하기 어려운 단점은 남아 있습니다.

    포트 개방 절차는 좌회전이므로 생략합니다.
    네트워크의 지식이 전혀 없고 곤란하다면, 설정하기 어려운 데 위험한 자체가 될 수 있기 때문에, 일단 로컬로 놀기에 머무르는 것이 길 것이라고 생각합니다.

    4. 클라이언트 소프트웨어 도입



    Nextcloud에는 PC나 모바일용 클라이언트 소프트웨어가 있으며, 이들을 도입함으로써 OneDrive 등의 클라우드 스토리지 등과 변함없는 편리성을 누릴 수 있습니다.

    사이고에게



    서버 네트워크 주위에 관해서는 즈브의 아마추어였습니다만, 이번 작업을 통해 여러가지 공부가 되었습니다.

    최근의 목표는 RAID를 짜서 이중화하는 등 파일 서버로서의 신뢰성을 높여 나가고 싶습니다.

    참고문헌



    「Nextcloud Docker-Compose」등으로 검색해 나오는 기사 많이

    좋은 웹페이지 즐겨찾기