Category: Linux

  • vaultwarden

    Bitwarden 를 사용해 보기로 했다. 따라하는 과정에서 host key 발급 과정이 있었다. 무료로 이용하고 싶었으므로 bitwarden과 유사한 vaultwarden을 이용해 보기로 했다.

    설치는 다음을 참조한다.

    우선 난 웹 서버는 라즈베리 파이로 운영한다. 그리고 나머지는 미니 피시를 사용한다. 파이의 nginx에서 bitwarden.welovedoctor.com 도메인에 대한 서비스를 생성한다. 그리고 이왕이면 let’s encrypt를 이용해서 인증서를 발급 받았다. nginx의 리버스 프록시를 이용하여 연결할 것이다.

    나에게 맞춰 다음과 같이 변경해서 컨테이너를 실행한다.

    sudo docker run -d --name vaultwarden \
      --env DOMAIN="https://bitwarden.welovedoctor.com" \
      --volume ./vw-data/:/data/ \
      --restart always \
      -p 8081:80 \
      vaultwarden/server:latest

    계정을 생성하고, 확장 프로그램을 설치한다.

    특별한 문제가 생기지 않았다면 위와 같은 화면을 볼 수 있다.

  • 인증서 만료일 확인

    Let’s Encrypt에서 인증서 연장 실패 메일을 더 이상 보내지 않겠다고 한다.

    그래서 코파일럿의 도움으로 인증서 만료일까지 몇 일 남아 있는지 확인할 수 있는 스크립트를 작성했다.

    #!/bin/bash
    cert_files=$(sudo find /etc/letsencrypt/live -name "fullchain.pem")
    IFS=$'\n' read -r -d '' -a cert_array <<< "$cert_files"
    today=$(date -u +%s)
    
    for cert in "${cert_array[@]}"; do
      domain=$(echo "${cert}" | sed -e 's|/etc/letsencrypt/live/\([^/]*\)/fullchain.pem|\1|')
      expiry_date=$(sudo openssl x509 -enddate -noout -in "$cert" | sed -e 's/^notAfter=//')
      expiry=$(date -ud "${expiry_date}" +%s)
      remaining_days=$(( (expiry - today) / 86400 ))
      echo ${domain}: ${remaining_days}
    done
    
  • Docker on NAVIX

    NAVIX에서 Docker를 설치하려면 RHEL 기반으로 해야 한다.

    리포 추가하기

    sudo dnf -y install dnf-plugins-core
    sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo

    Docker 설치

    sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

    Docker 시작하기

    sudo systemctl enable --now docker
  • 54404762BBB6E853

    GPG error: security.debian.org/debian-security bookworm-security
    InRelease: The following signatures were invalid: BADSIG 54404762BBB6E853
    Debian Security Archive Automatic Signing Key

    최근 apt 를 실행하면 위와 같은 오류가 발생했다. 믿을 수 없지만 아래와 같은 명령어를 실행하면 해결된다.

    sudo rm /bin/sh 
    sudo ln -s /bin/dash /bin/sh