셀프 호스팅 Solosync는 직접 설치한 Sync Server에 동기화 데이터를 보관합니다. 서버 인스턴스 하나는 Solosync Group 하나만 사용합니다. 한 기기에서만 사용할 때는 서버가 필요하지 않습니다.
필요한 환경
- PHP 8.2 이상 (
pdo_mysql,json,hash,openssl) - MySQL 8 이상 또는 호환되는 MariaDB
- HTTPS
- Apache 호환
.htaccess를 지원하거나public/을 DocumentRoot로 설정할 수 있는 호스팅
운영 서버에 Node.js나 Composer는 필요하지 않습니다. PHP zip 확장은 배포용 ZIP을 만들 때만 필요합니다. 서버의 기본 SyncPack 크기 제한은 16 MiB이므로 호스팅의 요청 크기 제한도 확인하세요.
1. 서버 파일 업로드
Sync Server 저장소를 받거나 배포 ZIP의 solosync-server/를 압축 해제해 업로드합니다. Apache 공유 호스팅에서는 접근 차단과 URL 재작성 규칙이 실제로 작동하는 것을 확인한 뒤에만 전체 디렉터리를 public_html/solosync/ 같은 곳에 둘 수 있습니다. 그렇지 않은 경우 public/만 DocumentRoot로 노출하고 private/, src/, migrations/ 등에 웹에서 직접 접근하지 못하게 하세요.
아래 예시는 설치 주소를 https://example.com/solosync/로 가정합니다.
2. 초기 설정 실행
https://example.com/solosync/setup.php를 엽니다. 첫 요청에서 private/setup.key.php가 생성됩니다. 호스팅 파일 관리자에서 파일을 열고 return '...';의 따옴표 안 값만 설정 화면에 붙여 넣으세요.
DB 접속 정보와 관리자 비밀번호를 입력합니다. 설정 과정에서 DB를 준비하고 서버 식별자를 생성하며 private/config.php를 만듭니다. 이 파일이 생성되면 초기 설정을 다시 실행할 수 없습니다.
Solocord 웹 앱을 사용할 경우 정확한 Origin을 허용하세요. 공식 웹 앱은 https://sc.kakikou.app입니다. 네이티브 앱과 Tauri 앱에는 CORS Origin 등록이 필요하지 않습니다. X-Forwarded-Proto 신뢰 설정은 신뢰할 수 있는 역방향 프록시가 HTTPS를 종료하는 경우에만 켜세요.
3. 연결 키 만들기
https://example.com/solosync/admin/에서 사용자 이름 admin과 초기 설정에 사용한 비밀번호로 로그인합니다. 연결 키를 만들어 안전하게 보관하세요. 키 원문은 생성할 때 한 번만 표시됩니다.
4. Solocord 연결
Solocord의 Solosync 설정에서 셀프 호스팅을 선택하고 서버 기본 URL(예: https://example.com/solosync)과 연결 키를 입력합니다. 비어 있는 서버는 처음 연결한 Group에 귀속됩니다.
서버에 다른 Group이 이미 있다면 복원 또는 병합 확인이 표시될 수 있습니다. 안내를 읽고 선택하고, 데이터를 옮기기 전에 메모를 백업하세요.
운영 시 주의 사항
private/config.php, private/setup.key.php, 연결 키, DB 덤프, 실제 운영 플러그인을 공개하지 마세요. SyncPack은 종단 간 암호화되지 않습니다. 호스트 관리자와 신뢰한 플러그인이 내용을 읽을 수 있습니다.
수동 설정은 서버 README와 private/config.example.php를 참고하세요. 수동 설치 후에는 관리 화면의 “Install / Migrate” 또는 php bin/migrate.php를 실행해야 합니다.