1P by GN⁺ 1달전 | ★ favorite | 댓글 1개
  • 자체 호스팅 Firefox Sync 서버 설정

    • Firefox에서 LibreWolf로 전환한 후, 자체 호스팅 Firefox Sync 서버에 관심을 가지게 됨.
    • 처음에는 Mozilla의 Sync Server 저장소를 찾았으나, 유지보수가 중단된 상태였음.
    • Rust 기반의 syncstorage-rs로 전환하여 진행하기로 결정함.
  • Docker의 복잡성과 혼란

    • Docker 문서에서 grpcioprotobuf 버전 일치 문제와 수동 복사 지시사항 등 혼란스러운 부분이 있었음.
    • syncstorage-rs-docker 저장소를 발견하여 더 간단한 Docker 설정을 찾게 됨.
  • 서버 설정: Docker Compose와 MariaDB

    • docker-compose.yaml 파일에 필요한 서비스를 추가함.
    • 데이터베이스 비밀번호 설정 시 특수 문자를 피하는 것이 중요함.
    • MariaDB 컨테이너를 실행하고 초기화 스크립트를 실행하여 데이터베이스를 초기화함.
    • 전체 스택을 온라인으로 가져옴.
  • Caddy를 사용한 Reverse Proxy 구성

    • Caddy reverse proxy를 업데이트하여 새로운 Syncserver로 포인트함.
    • DNS 항목을 업데이트하고 프록시를 재시작하여 서버를 실행함.
  • 직면한 도전 과제

    • MariaDB 컨테이너 재시작 시 데이터 지속성 문제 발생.
    • Docker 이미지와 중간 파일로 인해 서버 저장 공간 부족 문제 발생.
    • 올바른 설정 단계를 찾는 데 시간이 걸림.
  • 최종 생각

    • 자체 호스팅 Firefox Sync 서버 설정은 쉬운 작업이 아님.
    • 공식 문서는 혼란스러웠지만, syncstorage-rs-docker 저장소 덕분에 가능했음.
    • 약 2시간이 소요되었지만, 그만한 가치가 있었음.
Hacker News 의견
  • Mozilla 인프라를 사용하여 인증, 이메일, 계정 메타데이터 등의 서비스를 지원하는 설정임
  • 계정 마이그레이션이 가능하다면 나중에 이를 연결할 수 있으며, 모든 구성 요소를 자체 호스팅하는 것도 가능하지만 조금 더 복잡함
    • 문서와 개발 경험이 개선되고 있음
  • Garuda Linux는 FireDragon 브라우저를 위해 자체 Firefox Sync 서버를 호스팅하고 있음
    • Rust 기반이 아닌 이전 버전의 sync 서버를 사용 중임
  • 개인 경험을 공유하며, 이전 Python 2로 작성된 버전이 훨씬 나았다고 언급함
    • Docker나 Python이 필요하지 않지만, 현재 MySQL이 필요하며, sqlite 지원을 위한 자원봉사자가 있음
    • 주요 기여자들은 메트릭 수집을 위한 정당성을 작성하고 새로운 메트릭 프레임워크를 도입하는 데 집중하고 있음
  • Canvas Browser Extensions는 브라우저 탭을 자체 호스팅된 가상 디렉토리 트리에 동기화하는 것을 목표로 함
    • lmdb와 roaring bitmap 인덱스를 사용하며, rxdb나 pouchdb를 사용했어야 했다고 회고함
    • 서버 구성 요소가 재작성 중이며, 새로운 도구로 인해 아이디어의 가장 큰 제한 요소는 시간이 됨
  • Mozilla를 신뢰하여 데이터를 맡기지만, 인증 설정이 복잡하여 공공 호스팅 서비스를 사용하는 것이 더 나을 수 있음
  • Firefox Sync와 유사한 Floccus는 북마크와 탭 동기화만 필요하다면 설정이 간단함
  • MySQL과 Spanner가 현재 지원되는 DB 엔진이며, sqlite와 Postgres 지원을 위한 노력이 진행 중임
    • 다중 사용자 인스턴스는 Postgres를 통해 저장하는 것이 더 나을 수 있음
  • Firefox Sync가 E2E 암호화되어 있어 프라이버시 이점이 무엇인지 질문함
  • 자체 호스팅 솔루션이 너무 복잡해 보이며, SQLite를 사용하는 간단한 동기화 서버 구현이 이상적임
  • go-syncstorage는 완전히 배포되지는 않았지만 수십만 명의 사용자와 함께 테스트되었으며 안정적임