서비스 계정의 구글 드라이브 관리
Local Ghost를 AWS로 이전 - 7편
서비스 계정으로 연결된 구글 드라이브는 일반적인 구글 드라이브 처럼 로그인해서 자료를 관리할 수 없다. 다행히 관리 UI를 제공하는 자료가 있어서 그 내용을 안내하겠다.
참고: https://github.com/behoyh/google-drive-ui/tree/master
Google drive관리
서비스 계정의 구글드라이브 관리를 위해서는 우분투 환경이 필요한데 여기서는 윈도우즈 PC에서 도커를 이용하겠다.
1. 우분투 도커 생성
docker pull ubuntu:20.04
docker run -it --name test-ubuntu ubuntu:20.04 /bin/bash
참고: https://velog.io/@peeeeeter_j/Docker에서-Ubuntu-20.04-사용하기
18.04 버전
docker pull ubuntu:18.04
docker run -it --name test-ubuntu ubuntu:18.04 /bin/bash -d -p 8080:3000 httpd
2. 필요한 환경 설정
docker exec -it test-ubuntu /bin/bash
apt-get update
apt-get install vim -y
apt-get install git
apt-get install npm
#npm install -g npm@4.0.0 #알맞는 버전 선택
apt install curl
apt install sudo
sudo apt-get remove nodejs
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install gcc g++ make
sudo apt-get update && sudo apt-get install yarn
sudo apt-get install -y nodejs
# 버전 확인
node -v
# v18.17.0
npm -v
# 8.19.2
참고
https://medium.com/@ozhanli/how-to-install-vim-nano-in-docker-container-4343e0ac0652
https://velog.io/@velopert/learn-remix
https://remix.run/docs/en/main/tutorials/blog
https://learnubuntu.com/update-node-js/
3. 포트를 연결 시키지 않아서 사이트에 접속이 안될 것이다. 다음은 기존 도커를 이미지로 만들고 포트를 추가하는 방법이다. 솔직히 시인한다. 원래 1번 과정에서 -p 옵션으로 포트번호를 지정했어야한다. 깜박했삼.
docker stop test-ubuntu
docker commit test-ubuntu test-ubuntu-port
docker rm test-ubuntu
docker run -d -p 8084:3000 -it --name test-ubuntu test-ubuntu-port /bin/bash
참고: https://www.baeldung.com/linux/assign-port-docker-container
4. root폴더로 이동해서 실행해보자
su
cd /home/testCloud/ghost-google-drive
npm install
# npm audit fix # 필요시
npm run dev
5. 브라우저로 가서 localhost:8084로 접속. 그리고 텍스트박스에 key값을 입력. 이제 save 하면 이미지 관리UI가 나타날 것이다.
{
"key":
{
"private_key_id": "YOUR PRIVATE KEY ID",
"private_key": "YOUR PRIVATE KEY",
"client_email": "YOUR CLIENT EMAIL",
"client_id": "YOUR CLIENT ID"
}
}
참고
- postman을 이용한 google drive Api
https://www.youtube.com/watch?v=9HHd3IWI5Jg
- spring boot와 google drive API
https://www.youtube.com/watch?v=rCFH6EHoVQg&list=PL6staZz89fj_sEJkcwATwSjKTENIkMCAl&index=6
- python을 통한 구글 드라이브 API
https://www.youtube.com/watch?v=uI220BJ0yXc&list=PL3JVwFmb_BnTamTxXbmlwpspYdpmaHdbz&index=2
- 일반 구글 드라이브에서 파일 업로드, 삭제, url 생성
https://www.youtube.com/watch?v=1y0-IfRW114
- nodejs를 통한 파일 업로드
https://www.labnol.org/google-api-service-account-220404