Sia와 Nextcloud로 만드는 나만의 저비용 클라우드 스토리지 앱
원문은 Michael Lynch님이 에 게재했습니다. 이 블로그 구독하기
오늘 포스트에서는 Dropbox나 Google Drive와 유사하지만 비용은 훨씬 저렴한 나만의 클라우드 스토리지 웹 앱을 구축하는 방법을 보여드리겠습니다. 이 솔루션은 TB당 월 약 $0.60에 클라우드 스토리지를 제공합니다. 비교하자면 동일한 용량을 Dropbox에서는 월 $8.25, Google Drive에서는 월 $10에 이용할 수 있습니다.
영상 튜토리얼
이 가이드의 단계를 따라가며 최종 결과를 보여주는 스크린캐스트를 만들었습니다. 이 영상은 이 블로그 포스트와 동일한 결과를 얻게 해주지만, 이 포스트가 가능한 한 커맨드라인을 사용하는 반면 영상에서는 GUI에서 더 많은 설정을 수행합니다.
영상 튜토리얼을 선호한다면 아래 “Docker용 파일 및 폴더 만들기” 섹션에 있는 파일들을 다운로드한 뒤 영상을 따라 진행하는 것을 추천합니다.
요구 사항
이 가이드는 중급 사용자를 대상으로 합니다. Docker 컨테이너나 가상 머신을 다뤄본 경험이 없거나 커맨드라인 사용이 익숙하지 않다면 이 가이드를 따라가기 어려울 수 있습니다.
영상 데모에서는 Windows 10을 사용했지만, 이 튜토리얼은 운영체제에 구애받지 않습니다. 제가 설명하는 단계는 Windows, Mac OS X, Linux는 물론 일부 네트워크 스토리지 장치를 포함해 Docker를 지원하는 모든 64비트 운영체제에서 동작합니다.
이 가이드를 완료하려면 다음이 필요합니다:
- 최소 500 Siacoin(SC)
- 6GB의 여유 디스크 공간, 가급적 솔리드 스테이트 드라이브(SSD) 권장
- 시스템에 설치된 Docker Community Edition(무료)
소요 시간
이 가이드의 단계는 실제 작업 시간 기준으로 약 20분이 걸립니다. 하지만 설치 과정 중 Sia가 처리를 완료할 때까지 수 분에서 수 시간 기다려야 하는 지점이 여러 번 있어 전체 소요 시간은 3~4시간입니다.
- Docker 컨테이너 생성: 5분
- Sia 설정: 실제 작업 10분, 전체 3~4시간
- Nextcloud 설정: 5분
솔루션 구성 요소
Sia
이 솔루션에서는 웹 앱의 백엔드 스토리지로 Sia를 사용합니다. Sia는 제가 가장 좋아하는 새로운 기술 중 하나라 이전에 몇 가지 글을 쓴 적이 있습니다. Sia는 탈중앙화 파일 스토리지 네트워크입니다. 사용자는 Sia에 연결해 사용하지 않는 디스크 공간을 임대하여 수익을 얻을 수 있습니다. 현재 Sia 네트워크의 가격은 매우 저렴하기 때문에 이처럼 적은 비용으로 클라우드 스토리지 솔루션을 구축할 수 있습니다.
Nextcloud
Sia를 잘 아는 분이라면 Sia-UI라는 자체 그래픽 사용자 인터페이스가 있다는 것을 알고 있을 겁니다. 이 UI는 기능이 제한적입니다. 가장 큰 단점은 데스크톱 앱이라 한 대의 컴퓨터에서만 파일에 접근할 수 있다는 점입니다. 미디어 보기를 지원하지 않으므로 클라우드 스토리지 안에서 사진이나 영상을 보려면 파일을 로컬 머신의 폴더로 복사한 뒤 복사본을 열어야 합니다.
Sia-UI의 한계를 극복하기 위해 이 튜토리얼에서는 Nextcloud를 사용합니다. Nextcloud는 오픈소스 클라우드 스토리지 웹 앱입니다. Dropbox나 Google Drive와 유사한 웹 인터페이스를 제공합니다. Nextcloud는 Amazon S3, Dropbox, OpenStack 등 다양한 스토리지 제공업체와의 호환성을 염두에 두고 설계되었습니다. 2017년 2월, Sia 팀은 Nextcloud용 커스텀 플러그인을 작성했으며, 이 플러그인을 이용해 Nextcloud와 Sia를 연결할 것입니다.
더 진행하기 전에 Nextcloud를 미리 체험해 보고 싶다면 Nextcloud 웹사이트에서 무료 즉시 데모를 이용해 볼 수 있습니다.
Docker
Nextcloud는 데이터베이스와 웹 서버, 여러 서드파티 소프트웨어 라이브러리가 필요해 설치가 까다롭습니다. 번거로운 Nextcloud 설치 과정을 일일이 거치는 대신, 이 가이드에서는 Docker로 전체 설정을 처리합니다.
Docker를 사용하면 개발자가 앱을 “컨테이너”로 구축할 수 있습니다. Docker에서 컨테이너란 앱이 실행에 필요한 모든 구성 요소에만 접근할 수 있는 격리된 환경을 말합니다. 이 가이드에서는 Sia와 Nextcloud용 컨테이너를 만들고 docker-compose라는 기능을 이용해 두 컨테이너를 연결해 서로 통신하도록 할 것입니다.
Docker 컨테이너 설정
Docker용 파일 및 폴더 만들기
시작하려면 이 솔루션을 위한 디렉터리를 만들고 필요한 파일들을 모두 다운로드하세요:
sia-nextcloud라는 디렉터리를 만드세요. 이 폴더 안에 전체 블록체인을 다운로드할 것이므로 최소 6GB의 여유 공간이 있는 드라이브에 생성하세요.- 아래 세 파일을
sia-nextcloud디렉터리에 다운로드하세요: sia-nextcloud안에sia-data와sia-uploads라는 두 디렉터리를 만드세요.
이 파일들을 다운로드하고 해당 폴더들을 만들면 디렉터리 구조는 다음과 같아야 합니다:
sia-nextcloud/
sia-data/
sia-uploads/
docker-compose.yml
Dockerfile.nextcloud
Dockerfile.sia
아래에는 각 파일의 전체 내용과 각 파일이 하는 일에 대한 간략한 설명을 포함했습니다.
docker-compose.yml
version: "3"
volumes:
nextcloud-data:
services:
sia:
build:
context: .
dockerfile: Dockerfile.sia
restart: on-failure
ports:
- "9980:9980"
volumes:
- ./sia-data:/mnt/sia-data
- ./sia-uploads:/mnt/sia-uploads
nextcloud:
build:
context: .
dockerfile: Dockerfile.nextcloud
ports:
- "8080:80"
links:
- sia:siad_container
volumes:
- ./sia-uploads:/mnt/sia-uploads
- nextcloud-data:/var/www/html
이 파일은 웹 앱의 상위 수준 아키텍처를 정의합니다. Docker에게 Sia와 Nextcloud 컨테이너를 어떻게 로드할지 알려주고, 컨테이너 간 통신에 필요한 구성 옵션을 지정합니다.
이 설정은 컨테이너 내부 포트를 로컬 머신의 포트에 매핑합니다. 따라서 9980:9980 라인은 로컬 머신의 9980번 포트를 Sia 컨테이너의 9980번 포트로 포워딩합니다. 이를 통해 Sia 컨테이너 외부의 앱이 내부의 Sia 서버와 통신할 수 있습니다. 마찬가지로 8080:80은 로컬 머신의 8080번 포트를 컨테이너의 웹 서버 포트인 80번으로 포워딩합니다. 80번은 대부분의 시스템에서 권한이 필요한 포트라 접근에 특별한 권한이 필요하므로 8080번을 선택했습니다.
이 설정은 또한 컨테이너 자체가 삭제되더라도 데이터가 유지되도록 Docker 스토리지 볼륨을 설정합니다. ./sia-data:/mnt/sia-data는 위에서 만든 sia-data/ 폴더에 대한 접근 권한을 Sia 컨테이너에 부여합니다. 컨테이너 내부에서는 해당 경로가 /mnt/sia-data로 표시됩니다. ./sia-uploads:/mnt/sia-uploads 라인도 비슷한 효과를 냅니다.
Sia와 Nextcloud는 원래 단일 파일시스템을 가진 동일한 시스템에서 실행되도록 설계되었습니다. 이 튜토리얼의 아키텍처에서는 두 서비스가 독립적인 파일시스템을 가진 서로 다른 시스템에 있지만, 두 컨테이너 설정에 있는 sia-uploads 라인을 통해 업로드용 경로를 공유하므로 필요한 기능은 모두 충족됩니다.
마지막으로 nextcloud-data:/var/www/html은 Nextcloud가 nextcloud-data라는 이름의 Docker 볼륨에 구성 정보를 유지하도록 합니다. 덕분에 Nextcloud 컨테이너를 재시작해도 처음부터 다시 설정할 필요가 없습니다.
Dockerfile.sia
FROM debian:jessie-slim
ENV SIA_VERSION 1.3.2
ENV SIA_PACKAGE Sia-v$SIA_VERSION-linux-amd64
ENV SIA_ZIP ${SIA_PACKAGE}.zip
# Choose a binary release of Sia.
ENV SIA_RELEASE https://github.com/NebulousLabs/Sia/releases/download/v$SIA_VERSION/$SIA_ZIP
# Choose the directory within the container where Docker will place Sia.
ENV SIA_DIR /opt/$SIA_PACKAGE
RUN apt-get update && apt-get install -y \
socat \
wget \
unzip
# Download and install Sia.
RUN wget $SIA_RELEASE
RUN unzip $SIA_ZIP -d /opt
# Make the Sia ports available to the Docker container's host.
EXPOSE 9980 9981
# Configure the Sia daemon to run when the container starts.
# Specify the Sia directory as /mnt/sia so that you can view these files outside
# of Docker.
WORKDIR $SIA_DIR
ENTRYPOINT socat tcp-listen:9980,reuseaddr,fork tcp:localhost:8000 & ./siad --modules gctwr --sia-directory /mnt/sia-data --api-addr localhost:8000
이 파일은 Sia용 Dockerfile입니다. 최소한의 Debian Jessie 빌드를 기반으로 Docker 컨테이너를 만들고, 최신 Sia 릴리스(이 글을 쓰는 시점 기준 1.3.2)를 다운로드해 압축을 푼 뒤 Sia 서버 데몬인 siad를 실행합니다. --modules gctwr 플래그는 Sia 스토리지를 임대하는 데 필요한 Sia 모듈만 로드하고, --sia-directory /mnt/sia-data 플래그는 Sia가 docker-compose.yml에 지정된 영구 볼륨을 사용하도록 합니다.
이 Dockerfile에서 헷갈리는 부분은 socat과 --api-addr localhost:8000 플래그입니다. 최선을 다해 노력했지만, Sia 개발자들은 Docker 시나리오를 망가뜨림에도 불구하고 siad가 localhost가 아닌 포트에 바인딩되는 것을 허용하지 않습니다. 이를 우회하기 위해 이 튜토리얼에서는 Sia가 localhost:8000에 바인딩되도록 설정합니다. 그런 다음 socat이 localhost가 아닌 9980번 포트에 바인딩되어 트래픽을 localhost:8000으로 포워딩합니다. 다소 어설픈 방법이지만 동작합니다.
Dockerfile.nextcloud
FROM nextcloud:12.0.0-apache
EXPOSE 80
이 파일은 Nextcloud가 자체 Dockerfile을 제공하므로 매우 간단합니다. 제가 추가한 것은 80번 포트에서 수신 대기하도록 하는 라인뿐입니다.
컨테이너 실행
Docker 파일과 폴더가 준비되었으면 컨테이너를 실행할 차례입니다. 명령 프롬프트에서 sia-nextcloud 디렉터리로 cd 이동한 뒤 아래 명령을 입력하세요:
docker-compose up -d
컨테이너 상태를 확인하려면 logs 명령을 사용하세요:
docker-compose logs
Sia 로딩이 끝나면 로그에 다음과 같은 순서가 표시됩니다:
sia_1 | Loading...
sia_1 | (0/5) Loading siad...
sia_1 | (1/5) Loading gateway...
sia_1 | (2/5) Loading consensus...
sia_1 | (3/5) Loading transaction pool...
sia_1 | (4/5) Loading wallet...
sia_1 | (5/5) Loading renter...
sia_1 | Finished loading in 0.7577895 seconds
컨테이너 안에서 siac을 실행하면 Sia가 Sia 네트워크와 블록체인 동기화를 시작한 것을 확인할 수 있습니다:
docker exec -it sianextcloud_sia_1 ./siac consensus
Synced: No
Height: 730
Progress (estimated): 0.6%
Sia 설정
선택 사항: 블록체인 동기화 속도 높이기
Sia를 사용하려면 전체 블록체인을 다운로드해야 하는데, 이 과정은 완료까지 1~3일이 걸릴 수 있습니다. 동기화 시간을 30~60분으로 단축하는 선택적 우회 방법을 아래에 제공했습니다. Sia가 자체적으로 동기화될 때까지 기다리려는 경우 이 단계를 건너뛰고 다음 섹션으로 진행해도 됩니다.
블록체인 동기화 우회 방법을 적용하려면:
- Docker 컨테이너를 종료합니다.
# Tell Sia to shut down gracefully.
docker exec -it sianextcloud_sia_1 ./siac stop
# Give Sia a few seconds to shut down gracefully.
sleep 5
# Stop the Docker containers.
docker-compose down
- consensus.db 파일을 최신 SiaStats 스냅샷에서 다운로드합니다.
consensus.db파일을sia-nextcloud/sia-data/consensus/consensus.db에 복사합니다(기존 파일을 덮어씁니다).- Docker 컨테이너를 다시 시작합니다.
docker-compose up -d
- Sia가 새 블록체인을 처리하고 로딩을 마칠 때까지 주기적으로 컨테이너 로그를 확인합니다:
docker-compose logs
Sia 로딩이 끝나면 로그에 다음과 유사한 메시지가 표시됩니다:
sia_1 | Finished loading in 0.7577895 seconds
제 테스트에서는 이 과정이 SSD에서 50분이 걸렸습니다. 하드디스크 드라이브(HDD)에서 Sia를 실행 중이라면 몇 시간이 걸릴 것입니다.
블록체인 동기화 완료
이제 Sia가 블록체인 동기화를 마칠 때까지 기다려야 합니다. 다음 명령을 주기적으로 실행해 상태를 확인할 수 있습니다:
docker exec -it sianextcloud_sia_1 ./siac consensus
Sia 동기화가 완료되면 출력에서 Synced: Yes가 다음과 같이 표시됩니다:
Synced: Yes
Block: 000000000000000fdd4d3b48b096e048ad78f8f4fb88d21a025cd5411950e57e
Height: 117094
Target: [0 0 0 0 0 0 0 80 208 66 215 153 200 154 90 98 77 172 145 117 174 173 42 79 94 33 89 166 121 200 173 209]
Difficulty: 228263093718558163
Siacoin으로 지갑 충전
다음으로 Docker 컨테이너 안에 Siacoin 지갑을 만들고 최소 500 SC를 전송해야 합니다.
새 Sia 지갑을 만들려면 아래 명령을 입력하세요:
docker exec -it sianextcloud_sia_1 ./siac wallet init
Sia는 “지갑 시드”라고 불리는 29단어 암호문을 생성해 콘솔에 표시합니다. 아래 예시 출력과 유사합니다:
guru delayed kidneys viewpoint rover request negative september number yodel aggravate
reheat soapy incur update later bimonthly bacon unusual godfather usher tiers pencil
ultimate vivid unsafe farming costume agile
Wallet encrypted with password:
guru delayed kidneys viewpoint rover request negative september number yodel aggravate
reheat soapy incur update later bimonthly bacon unusual godfather usher tiers pencil
ultimate vivid unsafe farming costume agile
이 시드는 Siacoin 잔액에 대한 접근을 제어하므로 안전한 곳에 복사해 두고 절대 온라인에 게시하지 마세요. Sia는 시드를 표시한 뒤 동일한 비밀번호를 뒤이어 표시하는데, 이는 혼란스럽지만 의도된 동작입니다. 많은 사용자가 놀라지만 이것이 Sia의 의도된 동작 방식입니다.
지갑을 만든 뒤에는 시드 암호문으로 지갑 잠금을 해제해야 합니다. 아래 명령을 입력한 뒤 위에서 생성한 시드를 붙여 넣으세요.
docker exec -it sianextcloud_sia_1 ./siac wallet unlock
마지막으로 새 Siacoin 지갑 주소를 생성합니다:
docker exec -it sianextcloud_sia_1 ./siac wallet address
생성한 지갑으로 최소 500 SC를 보내세요. 보유한 Siacoin이 없다면 구매하거나 채굴할 수 있습니다.
렌터 컨트랙트 생성
Sia는 “렌터 컨트랙트” 형태로 스토리지 공간을 선불로 구매하도록 요구합니다. 아래 명령은 12주 동안 사용할 500 SC 상당의 컨트랙트를 Sia가 구매할 수 있도록 허용량을 생성합니다.
docker exec -it sianextcloud_sia_1 ./siac renter setallowance 500SC 12w
이 글을 쓰는 시점 기준으로 500 SC는 약 2TB의 스토리지를 구매할 수 있으므로, 더 많은 스토리지가 필요하다면 컨트랙트 금액을 늘릴 수 있습니다. Siacoin의 가치가 변동하고 더 많은 임차인과 호스트가 시장에 진입함에 따라 가격은 시간이 지나면 변하지만, 컨트랙트 기간 동안 스토리지 가격은 보장됩니다.
허용량을 생성한 뒤 Sia는 스토리지 컨트랙트 형성을 시작합니다. 이 과정은 완료까지 20~30분이 걸립니다. 다음 명령을 실행해 Sia가 형성한 컨트랙트 수를 확인할 수 있습니다:
docker exec -it sianextcloud_sia_1 ./siac renter contracts
Sia가 최소 20개의 컨트랙트를 생성하면 다음 단계로 진행하세요.
Nextcloud 설정
이제 Sia가 데이터를 저장할 준비가 되었으므로 Nextcloud 컨테이너를 설정할 차례입니다.
Nextcloud는 커맨드라인이나 웹 UI를 통해 설정할 수 있습니다. 여기서는 커맨드라인 방식을 사용합니다. 웹 UI로 Nextcloud를 설정하려는 경우 http://localhost:8080에 접속해 제 영상 튜토리얼의 13:44부터 시작하는 단계를 따라 하면 됩니다.
Nextcloud 설치
Nextcloud Docker 컨테이너를 로드하면 컨테이너 안에 Nextcloud 파일은 존재하지만 아직 설치되지 않은 상태이므로, 첫 번째 단계는 아래 명령으로 Nextcloud를 설치하는 것입니다.
docker exec --user www-data -it sianextcloud_nextcloud_1 ./occ maintenance:install --database "sqlite" --database-name "nextcloud" --database-user "root" --database-pass "root" --admin-user "admin" --admin-pass "admin"
다음과 같이 표시되어야 합니다:
Nextcloud is not installed - only a limited number of commands are available
creating sqlite db
Nextcloud was successfully installed
위 예제 명령은 데이터베이스 자격 증명으로 root/root를, 웹 앱 자격 증명으로 admin/admin을 사용합니다. 가정 내와 같은 신뢰할 수 있는 네트워크에 배포하는 경우 이 기본값을 사용해도 괜찮습니다. 인터넷에 연결된 서버에 이 시스템을 배포한다면 다른 안전한 자격 증명을 선택해야 합니다.
외부 스토리지 제공업체 활성화
Sia는 Nextcloud에서 외부 스토리지 제공업체 역할을 하므로, 다음 명령을 입력해 외부 제공업체에 대한 Nextcloud 지원을 활성화하세요.
docker exec --user www-data -it sianextcloud_nextcloud_1 php occ app:enable files_external
Sia Nextcloud 앱 설치
이제 Nextcloud의 Sia 앱을 설치할 차례입니다. 안타깝게도 커맨드라인으로 Nextcloud 앱을 설치할 수는 없으므로 이 단계는 웹 브라우저에서 수행해야 합니다.
- 브라우저에서 http://localhost:8080을 열어 NextCloud 웹 앱에 접속합니다.
- 위 “Nextcloud 설치” 단계에서 선택한 Nextcloud 웹 앱 자격 증명을 입력합니다. 기본 자격 증명을 사용했다면
admin/admin입니다. - Nextcloud 홈 화면에서 오른쪽 상단의 톱니바퀴 아이콘을 클릭한 뒤 “Apps”를 클릭합니다.
- 왼쪽 메뉴에서 “Tools” 카테고리를 클릭합니다.
- “Sia storage report” 앱까지 아래로 스크롤한 뒤 그 아래에 있는 “Enable” 버튼을 클릭합니다.
Sia 지원 구성
이 과정의 마지막 단계는 Sia Nextcloud 앱을 Sia 서버 인스턴스에 연결하는 것입니다. 이를 위해 아래 명령을 입력하세요:
docker exec --user www-data -it sianextcloud_nextcloud_1 php occ files_external:create Sia sia null::null
docker exec --user www-data -it sianextcloud_nextcloud_1 php occ files_external:config 1 apiaddr siad_container:9980
docker exec --user www-data -it sianextcloud_nextcloud_1 php occ files_external:config 1 datadir /mnt/sia-uploads
Sia Nextcloud 통합이 완료되었습니다!
브라우저에서 Nextcloud의 Files 탭을 열면 Sia 폴더가 보일 것입니다. Nextcloud는 이 폴더에 있는 모든 파일을 Sia 네트워크에 자동으로 백업합니다.
Sia와 Nextcloud 함께 사용하기
파일 업로드 및 다운로드
Nextcloud의 Sia 폴더에 파일을 업로드하면 앱이 해당 파일을 튜토리얼 앞부분에서 만든 sia-uploads 폴더로 복사합니다. 그런 다음 Nextcloud는 파일을 Sia 네트워크에 업로드하여 백그라운드에서 백업을 생성합니다.
로컬 공간을 절약하려면 Sia에 완전히 업로드된 파일을 삭제할 수 있습니다. 다음 명령으로 Sia가 완전히 백업한 파일을 확인할 수 있습니다:
docker exec -it sianextcloud_sia_1 ./siac renter -v
Renter info:
Storage Spending: 1.449 SC
Upload Spending: 48.65 mS
Download Spending: 3.887 mS
Unspent Funds: 217.7 SC
Total Allocated: 219.2 SC
Tracking 8 files:
File size Available Progress Redundancy Renewing Sia path
5.60 MB Yes 86.67% 2.60 Yes 08 Hospital Beds.mp3
143.12 MB Yes 101.67% 3.00 Yes Futurama - s01e08 - A Big Piece Of Garbage.mp4
175.37 MB Yes 100.67% 3.00 Yes Futurama - s01e09 - Hell Is Other Robots.mp4
3.72 MB Yes 56.67% 1.70 Yes IMG_20170725_204611.jpg
3.37 MB Yes 100.00% 3.00 Yes IMG_20170725_204704.jpg
3.39 MB Yes 100.00% 3.00 Yes IMG_20170725_204727.jpg
3.64 MB Yes 96.67% 2.90 Yes IMG_20170725_204928.jpg
3.25 MB Yes 63.33% 1.90 Yes IMG_20170725_204944.jpg
중복성(redundancy)이 3.0 이상인 파일은 sia-uploads에서 안전하게 삭제할 수 있습니다.
sia-uploads에서 삭제한 파일을 다운로드하거나 보려고 시도하면 Sia Nextcloud 앱이 파일을 자동으로 다시 다운로드하여 로컬에서 사용할 수 있도록 하지만, 파일 크기와 인터넷 속도에 따라 수 초에서 수 분이 걸릴 수 있습니다.
제한 사항
하위 폴더 없음
Sia 자체는 사용자가 업로드를 정리하기 위해 폴더를 만들 수 있도록 허용하지만, Sia Nextcloud 앱은 폴더 생성을 지원하지 않습니다. 웹 앱에는 해당 옵션이 표시되지만, 폴더를 추가하려고 하면 “Could not create folder.”라는 메시지만 표시됩니다.
앱 내 텍스트 편집 불가
Nextcloud 앱에는 클라우드 스토리지 폴더 안의 일반 텍스트 파일을 편집할 수 있는 기본 텍스트 편집기가 포함되어 있습니다. 안타깝게도 이는 Sia 폴더 안의 파일에서는 동작하지 않습니다. Sia 폴더 안의 텍스트 파일을 편집하려고 하면 Nextcloud에 수많은 오류 메시지가 쏟아지며 편집 시도 내용이 전혀 저장되지 않습니다.
결론
이 튜토리얼에서는 Nextcloud 자체 인스턴스를 배포하고 Sia로 저비용 파일 백업을 추가하는 방법을 보여드렸습니다.
앞으로 몇 달 동안 점점 더 많은 앱이 Sia와 통합될 것으로 예상합니다. 며칠 전 Sia는 분산 오브젝트 스토리지 서버인 Minio와의 새로운 통합을 발표했습니다. 이 튜토리얼에서 사용한 기술은 다른 앱을 배포하고 Sia와 통합하는 데 도움이 될 것입니다.
- 업데이트 (2017-09-13): Minio 통합이 거의 완료되었습니다.
글을 무작위로 읽기










댓글
로그인하고 댓글 남기기