Bitwarden 패스워드 관리 서버 설치

###########################################################
#
# Bitwarden 공식 서버는 리소스 문제로 비공식 서버인
# vaultwarden을 설치하여 사용한다.
#
# https://github.com/dani-garcia/vaultwarden
#
###########################################################

###########################################################
#
# docker 설치
#
###########################################################
apt-get -y install docker
apt-get -y install docker.io
apt-get -y install docker-compose

###########################################################
#
# vaultwarden(bitwarden unofficial 버전) 설치
#
###########################################################
# docker 이미지 정리 및 제거
docker stop $(docker ps -a -q)
docker rm -f $(docker ps -a -q)
docker rmi -f $(docker images -a -q)

# vaultwarden 설치 이미지 정리
docker pull vaultwarden/server:latest
mkdir -p /var/lib/vaultwarden
rm -rf /var/lib/vaultwarden/*

# Let's encrypt 인증서를 사용하여 5443포트로 실행한다.
# Let's encrypt 사용시 cert.pem은 fullchain.pem으로 교체하여 사용
docker run -d --name vaultwarden -e ROCKET_TLS="{certs=\"/ssl/live/hasu0707.duckdns.org/cert.pem\",key=\"/ssl/live/hasu0707.duckdns.org/privkey.pem\"}" -v /etc/letsencrypt/:/ssl/ -v /var/lib/vaultwarden/:/data/ -p 5443:80 vaultwarden/server:latest

###########################################################
#
# systemd 서비스 등록
#
###########################################################
echo "[Unit]" > /lib/systemd/system/docker-vaultwarden.service
echo "Wants=docker.service" >> /lib/systemd/system/docker-vaultwarden.service
echo "After=docker.service" >> /lib/systemd/system/docker-vaultwarden.service
echo "" >> /lib/systemd/system/docker-vaultwarden.service
echo "[Service]" >> /lib/systemd/system/docker-vaultwarden.service
echo "RemainAfterExit=yes" >> /lib/systemd/system/docker-vaultwarden.service
echo "ExecStart=/usr/bin/docker start vaultwarden" >> /lib/systemd/system/docker-vaultwarden.service
echo "ExecStop=/usr/bin/docker stop vaultwarden" >> /lib/systemd/system/docker-vaultwarden.service
echo "" >> /lib/systemd/system/docker-vaultwarden.service
echo "[Install]" >> /lib/systemd/system/docker-vaultwarden.service
echo "WantedBy=multi-user.target" >> /lib/systemd/system/docker-vaultwarden.service
ln -sf /lib/systemd/system/docker-vaultwarden.service /etc/systemd/system/docker-vaultwarden.service
systemctl daemon-reload
systemctl enable docker-vaultwarden.service

###########################################################
#
# 테스트 방법
# 1. 웹브라우저에서 https://hasu0707.duckdns.org:5443 접속
# 2. 크롬에서
# https://chrome.google.com/webstore/detail/bitwarden-free-password-m/nngceckbapebfimnlniiiahkandclblb
# 에 접속하여 확장 프로그램 설치
# 3. 확장 프로그램 로그인 윈도우에서 좌측 상단 "설정" 버튼 클릭하여 주소를 https://hasu0707.duckdns.org:5443 로 설정
#
###########################################################
위로 스크롤