연결을 통해 나만의 북마크 관리자를 만드는 방법
Linkding은 간단하면서도 유연한 웹 기반 Linux용 북마크 관리자입니다. 오프라인 북마크 관리자와 유사하게, 시간이 지남에 따라 축적된 웹 링크를 생성하고 주석을 달 수 있습니다.
이 문서에서는 Docker 및 Docker Compose를 사용하여 Ubuntu 22.04 시스템에 Linkding을 설치하는 방법을 보여줍니다. 또한 새 Linkding 인스턴스 내에서 관리자가 아닌 사용자를 생성하고 관리하는 방법을 강조합니다.
연결을 사용하여 나만의 북마크 관리자를 호스팅하는 이유는 무엇입니까?
Linkding 의 가장 큰 판매 포인트 중 하나는 기존 서버에 빠르게 배포하고 몇 분 내에 사용할 수 있다는 것입니다. 즉, 자신만의 북마크 관리자를 호스팅하기 위해 물리적이든 아니든 새 시스템을 프로비저닝할 필요가 없습니다.
또한 연결은 링크 공유 및 다중 사용자 모드를 포함하도록 대부분의 북마크 관리자에 있는 기본 기능을 확장합니다. 이는 그룹 간 링크를 공유하기 위한 비공개 협업 플랫폼을 만들고자 하는 사용자에게 이상적입니다.
연결 및 Docker Compose 얻기
Linkding을 배포하려면 먼저 Docker Compose 구성 요소와 함께 Docker를 설치해야 합니다. 개발자 웹사이트에서 프로그램의 서명 키를 가져오면 됩니다.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Docker 설치를 위한 새 저장소 파일을 만듭니다.
sudo nano /etc/apt/sources.list.d/docker.list
새 저장소 파일 안에 다음 코드 줄을 붙여넣습니다.
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
다음 명령을 실행하여 시스템의 패키지 저장소를 다시 로드합니다.
sudo apt update && sudo apt upgradesudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx
연결 Docker 컨테이너 획득 및 배포
홈 디렉터리 내에 Linkding을 위한 새 폴더를 만들고 그 폴더로 이동하세요.
mkdir ~/linkding && cd ~/linkding
선호하는 텍스트 편집기를 사용하여 빈 “docker-compose.yml” 파일을 만듭니다.
nano. /docker-compose.yml
새 작성 파일 안에 다음 코드 블록을 붙여넣습니다.
---
version: "3"
services:
linkding:
container_name: ${LD_CONTAINER_NAME:-linkding}
image: sissbruecker/linkding:latest
ports:
- ${LD_HOST_PORT:-9090}:9090
volumes:
- ${LD_HOST_DATA_DIR:-./data}:/etc/linkding/data
env_file:
-. env
restart: unless-stopped
새 docker-compose.yml을 저장한 다음 인스턴스에 대한 환경 파일을 만듭니다. 여기에는 새 설치에 대한 모든 사용자 정의 변수가 포함됩니다.
nano ~/linkding/.env
새 환경 파일 내에 다음 코드 블록을 붙여넣습니다.
LD_CONTAINER_NAME="linkding"LD_HOST_PORT="9090"LD_HOST_DATA_DIR="./data"LD_SUPERUSER_NAME="linkding"# CHANGE WITH A SECURE USERNAMELD_SUPERUSER_PASSWORD="linkding"# CHANGE WITH A SECURE PASSWORDLD_DISABLE_BACKGROUND_TASKS="False"LD_DISABLE_URL_VALIDATION="False"LD_ENABLE_AUTH_PROXY="False"LD_CSRF_TRUSTED_ORIGINS="https://linkding.your-domain-name.here"
마지막으로 다음 명령을 실행하여 새 Docker 컨테이너를 빌드합니다.
docker compose up -d
SSL용 Nginx 역방향 프록시 만들기
이제 포트 9090에서 실행 중인 Linkding의 작업 인스턴스가 생겼습니다. 그러나 공개적으로 액세스하려면 SSL을 사용하여 들어오는 연결을 보호하는 역방향 프록시를 만들어야 합니다.
인스턴스에 대한 새 사이트 구성 파일을 만듭니다.
sudo nano /etc/nginx/sites-available/linkding
새 사이트 파일 안에 다음 코드 블록을 붙여넣습니다.
server {
listen 80;
listen [::]:80;
root /var/www/html;
server_name linkding.your-domain-name.here;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:9090;
}}
기본 사이트 구성 파일을 제거하고 “/etc/nginx/sites-enabled”에 대한 새 구성 파일에 대한 심볼릭 링크를 만듭니다.
sudo rm /etc/nginx/default
sudo ln -s /etc/nginx/sites-available/linkding /etc/nginx/sites-enabled/linkding
Nginx 데몬을 시작하고 활성화하여 새 설정을 적용하세요.
sudo systemctl restart nginx
sudo systemctl enable --now nginx
연결 인스턴스에 SSL 활성화
머신에 최신 코어 스냅 바이너리가 있는지 확인하세요.
sudo snap install core
EFF(Electronic Frontier Foundation)의 Certbot 스냅 패키지를 설치합니다.
sudo snap install certbot --classic
EFF에 등록하여 certbot 설치가 제대로 작동하는지 테스트하십시오.
sudo certbot register --agree-tos -m ramces@email.invalid
다음 명령을 실행하여 인스턴스에 대한 SSL 인증서를 요청합니다.
sudo certbot --nginx -d linkding.your-domain-name.here
웹 브라우저에 해당 주소를 로드하여 새 인스턴스가 안전하고 작동하는지 테스트합니다.
연결에서 새 사용자 생성
“.env” 파일에 제공한 수퍼유저 자격 증명을 사용하여 새 Linkding 인스턴스에 로그인합니다.
페이지 오른쪽 상단에 있는 “설정” 링크를 클릭하세요.
Linkding 설정 페이지에서 “관리” 탭을 클릭하세요. 연결 관리자 패널이 나타납니다.
새 사용자를 추가하려면 “인증 및 승인” 카테고리 아래 사용자 행 옆에 있는 “추가” 링크를 클릭하세요.
새 연결 사용자의 사용자 이름과 비밀번호를 제공한 다음 “저장”을 클릭하여 새 사용자를 활성화하세요.
다른 브라우저 세션을 통해 로그인하여 새 사용자가 제대로 작동하는지 테스트하세요.
연결 시 기존 사용자 비활성화
연결에서 기존 사용자를 비활성화하려면 인스턴스의 관리자 패널로 이동한 다음 “인증 및 권한 부여” 카테고리 아래의 “사용자” 링크를 선택하세요.
비활성화하려는 사용자 이름을 클릭합니다. 그러면 해당 특정 사용자의 프로필이 로드됩니다.
“권한” 범주까지 아래로 스크롤한 다음 “활성” 라벨 옆의 확인란을 선택 취소합니다.
페이지 하단까지 아래로 스크롤한 다음 “저장”을 클릭하여 사용자를 완전히 비활성화합니다.
자주 묻는 질문
Docker를 사용하지 않고 Linkding을 설치할 수 있나요?
아니요. Linkding 개발자는 Docker 컨테이너에서만 작동하도록 설계했습니다. 이는 프로그램이 제대로 작동하려면 특정 순서와 특정 방식으로 배포해야 하는 여러 공동 종속성이 있기 때문입니다.
기존 북마크를 Linkding으로 가져올 수 있나요?
예. 다른 외부 북마크 관리자에서 북마크 목록을 가져올 수 있습니다. 예를 들어 Google Chrome 과 Microsoft Edge 모두에서 북마크를 Linkding으로 직접 복사할 수 있습니다.
Docker 외부에서 Linkding 데이터베이스를 백업할 수 있나요?
예. Docker 컨테이너에서 Linkding 데이터베이스를 백업하는 방법에는 두 가지가 있습니다. 먼저 설정 페이지로 이동한 다음 “일반” 탭 아래의 “내보내기” 카테고리로 이동하세요. 그 아래에서 “다운로드” 버튼을 클릭하면 현재 사용자의 북마크를 백업할 수 있습니다.
둘째, Linkding 서버에 로그인하여 “~/linkding/data” 디렉터리에 “db.sqlite3” 파일을 복사할 수 있습니다. 전자에 비해 이 접근 방식의 장점은 “db.sqlite3” 파일에 전체 인스턴스에 대한 전체 책갈피 데이터베이스가 포함되어 있다는 것입니다.
이미지 크레디트: Unsplash (배경) Linkding Github (로고) 를 통한 Lauren Mancke . Ramces Red의 모든 변경 사항 및 스크린샷.
답글 남기기