셀프호스팅 가이드

10분 안에 내 서버에서 ShareAux를 실행하세요.

1. 요구사항

2. 설치

git clone https://github.com/Protomothis/ShareAux.git
cd ShareAux
cp .env.example .env

3. 환경 변수

.env 파일을 열고 최소한 아래 값을 변경하세요:

변수설명예시
DB_PASSWORDPostgreSQL 비밀번호my-secure-password
JWT_SECRET토큰 서명용 랜덤 문자열openssl rand -hex 32
CLIENT_URL공개 URLhttps://music.example.com

선택 변수:

변수설명
GOOGLE_CLIENT_IDGoogle OAuth (Google 로그인)
GOOGLE_CLIENT_SECRETGoogle OAuth 시크릿
GOOGLE_CALLBACK_URLhttps://도메인/api/auth/google/callback
GEMINI_API_KEY가사 AI 번역 (Gemini)
CAPTCHA_ENABLEDPoW CAPTCHA (기본: true)

4. HTTPS (리버스 프록시)

ShareAux는 내부 Caddy 게이트웨이를 통해 8080 포트를 노출합니다. HTTPS는 호스트에 외부 리버스 프록시를 설정하세요.

Caddy (권장)

호스트에 Caddy 설치 후 /etc/caddy/Caddyfile 작성:

music.example.com {
    reverse_proxy localhost:8080
}

Caddy가 Let's Encrypt 인증서를 자동 발급합니다. 끝.

Nginx

server {
    server_name music.example.com;
    listen 443 ssl;
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;

    location / {
        proxy_pass http://localhost:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
    }
}

중요: WebSocket(/ws)은 Upgrade 헤더가 필요합니다. 위 예시에 포함되어 있습니다.

.envCLIENT_URL을 공개 URL로 설정하세요 (예: https://music.example.com).

5. 실행

docker compose up -d

상태 확인:

docker compose ps
docker compose logs -f

https://music.example.com으로 접속하세요.

6. Google OAuth (선택)

  1. Google Cloud Console 접속
  2. OAuth 2.0 클라이언트 ID 생성 (웹 애플리케이션)
  3. 승인된 리디렉션 URI: https://도메인/api/auth/google/callback
  4. Client ID와 Secret을 .env에 입력
  5. 재시작: docker compose restart server

Google OAuth 없이도 아이디/비밀번호 또는 게스트 초대 코드로 로그인 가능합니다.

7. 첫 로그인

  1. 사이트에 접속해서 계정 생성
  2. 첫 번째 가입자가 자동으로 Super Admin이 됩니다
  3. /admin에서 어드민 패널 접근
  4. 설정 변경, 방 생성, 다른 사람 초대

8. 업데이트

cd ShareAux
docker compose pull
docker compose up -d

DB 마이그레이션은 시작 시 자동 실행됩니다.


← 홈으로