How to Connect Coolify to a Private Gitea Repository Using SSH Keys

How to Connect Coolify to a Private Gitea Repository Using SSH Keys
coolify

๐Ÿš€ Coolify์—์„œ Gitea Git ์ €์žฅ์†Œ์— SSH ํ‚ค๋กœ ์•ˆ์ „ํ•˜๊ฒŒ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•

์ดˆ๋ณด์ž๋„ ๋”ฐ๋ผํ•  ์ˆ˜ ์žˆ๋„๋ก, ์‹ค์ „ ์œ„์ฃผ๋กœ ์ •๋ฆฌํ•œ ์™„๋ฒฝ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค. Gitea์™€ Coolify๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž๋™ ๋ฐฐํฌ๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ์€ ๋ถ„๋“ค์„ ์œ„ํ•œ ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค.

๐Ÿงฉ ์™œ SSH ํ‚ค๊ฐ€ ํ•„์š”ํ•œ๊ฐ€์š”?

Git ์ €์žฅ์†Œ์— ์•ˆ์ „ํ•˜๊ฒŒ ์ ‘๊ทผํ•˜๋ ค๋ฉด ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ฐฉ์‹๋ณด๋‹ค ๋ณด์•ˆ์„ฑ์ด ๋†’์€ SSH ํ‚ค ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. Coolify์ฒ˜๋Ÿผ ์ž๋™ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ํ”Œ๋žซํผ์€ SSH ํ‚ค ์ธ์ฆ์„ ๊ธฐ๋ณธ์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ“ฆ ๊ตฌ์„ฑ ๊ฐœ์š”

ํ•ญ๋ชฉ ๋‚ด์šฉ
๋ฐฐํฌ ํ”Œ๋žซํผ Coolify (Self-hosted)
Git ์ €์žฅ์†Œ Gitea (Docker ๊ธฐ๋ฐ˜, ํฌํŠธ 22222 ์‚ฌ์šฉ)
์ธ์ฆ ๋ฐฉ์‹ SSH Key (Public/Private Key Pair)

๐Ÿ› ๏ธ Step 1. Coolify์—์„œ SSH ํ‚ค ์ƒ์„ฑํ•˜๊ธฐ

Coolify ๋Œ€์‹œ๋ณด๋“œ โ†’ Security ๋ฉ”๋‰ด์—์„œ Private Key ์ƒ์„ฑ

  • Public Key๋Š” ์ž๋™ ์ƒ์„ฑ๋จ
  • Private Key๋Š” Coolify๊ฐ€ ๋‚ด๋ถ€์ ์œผ๋กœ ์ €์žฅํ•˜๊ณ  ์‚ฌ์šฉํ•จ

๐Ÿ‘‰ ์ด ๊ณต๊ฐœํ‚ค(ssh-ed25519 ...)๋ฅผ ๋ณต์‚ฌํ•ด์„œ Gitea์— ๋“ฑ๋กํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ”‘ Step 2. Gitea์— ๊ณต๊ฐœํ‚ค ๋“ฑ๋กํ•˜๊ธฐ

  1. Gitea ๋กœ๊ทธ์ธ (์ž์‹ ์˜ ์‚ฌ์šฉ์ž ๊ณ„์ •)
  2. ์šฐ์ธก ์ƒ๋‹จ ํ”„๋กœํ•„ > Settings
  3. ์ขŒ์ธก ๋ฉ”๋‰ด์—์„œ SSH / GPG Keys
  4. Add Key ํด๋ฆญ
  5. Coolify์—์„œ ์ƒ์„ฑํ•œ ๊ณต๊ฐœํ‚ค ์ „์ฒด๋ฅผ ๋ถ™์—ฌ๋„ฃ๊ธฐ
  6. ์ด๋ฆ„์€ coolify-deploy-key ๋“ฑ์œผ๋กœ ์ง€์ •

โœ… ๊ณต๊ฐœํ‚ค ๋“ฑ๋ก์ด ์™„๋ฃŒ๋˜๋ฉด Gitea๋Š” ํ•ด๋‹น ํ‚ค๋กœ ์ ‘์†ํ•˜๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค.


๐ŸŒ Step 3. ํฌํŠธ๊ฐ€ ๋‹ค๋ฅผ ๋•Œ SSH ์ ‘์†ํ•˜๋Š” ๋ฒ•

Gitea๋ฅผ Docker๋กœ ์šด์˜ ์ค‘์ด๋ผ๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ํฌํŠธ๋ฅผ ๋‹ค๋ฅด๊ฒŒ ๋งคํ•‘ํ–ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

-p 22222:22

์ด๋Ÿด ๋• ๋‹ค์Œ์ฒ˜๋Ÿผ ํฌํŠธ ๋ช…์‹œํ•ด์„œ SSH ์ ‘์†:

ssh -i ~/.ssh/coolify_key -p 22222 git@your-gitea-host

๋ฉ”์‹œ์ง€ ์˜ˆ์‹œ:

Hi there! You've successfully authenticated with the key...

โ†’ ์ด ๋ฉ”์‹œ์ง€๊ฐ€ ๋ณด์ด๋ฉด ์ธ์ฆ ์„ฑ๊ณต์ž…๋‹ˆ๋‹ค.


๐Ÿงช Step 4. ์ง์ ‘ SSH ํ…Œ์ŠคํŠธํ•˜๊ธฐ

ssh -i ~/.ssh/coolify_key -p 22222 git@your-gitea-host

๋งŒ์•ฝ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฉ”์‹œ์ง€๊ฐ€ ๋ณด์ด๋ฉด?

Permission denied (publickey).

๐Ÿ‘‰ ์ด ๊ฒฝ์šฐ:

  • ํ‚ค ๊ฒฝ๋กœ๋ฅผ ์ •ํ™•ํžˆ ์ง€์ •ํ–ˆ๋Š”์ง€ ํ™•์ธ (-i ์˜ต์…˜)
  • Gitea์— ์ •ํ™•ํžˆ ํ•ด๋‹น ๊ณต๊ฐœํ‚ค๊ฐ€ ๋“ฑ๋ก๋˜์—ˆ๋Š”์ง€ ์žฌํ™•์ธ
  • ํ‚ค ๊ถŒํ•œ ์„ค์ • ํ™•์ธ: chmod 600 ~/.ssh/coolify_key

โš™๏ธ Step 5. Coolify์—์„œ Git Repository ์—ฐ๊ฒฐํ•˜๊ธฐ

Coolify ์•ฑ ์„ค์ • โ†’ Git ํƒญ์—์„œ ๋‹ค์Œ ์ •๋ณด ์ž…๋ ฅ:

  • Repository URL:
ssh://git@your-gitea-host:22222/your-user/your-repo.git
  • Build Pack: Dockerfile ๋˜๋Š” Static (์„ ํƒ์‚ฌํ•ญ)
  • Private Key: ์•ž์„œ ์ƒ์„ฑํ•œ ํ‚ค ์„ ํƒ

๐Ÿ“Œ ๋งˆ๋ฌด๋ฆฌ ์š”์•ฝ

ํ•ญ๋ชฉ ์„ค๋ช…
๊ณต๊ฐœํ‚ค ๋“ฑ๋ก ์œ„์น˜ Gitea ์›น โ†’ Settings โ†’ SSH Keys
์ ‘์† ๊ณ„์ • git ์‚ฌ์šฉ์ž (Gitea๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ๋งคํ•‘)
์ธ์ฆ ์„ฑ๊ณต ๋ฉ”์‹œ์ง€ "You've successfully authenticated..."
Git clone ์ฃผ์†Œ ssh://git@๋„๋ฉ”์ธ:ํฌํŠธ/์‚ฌ์šฉ์ž/์ €์žฅ์†Œ.git

๐ŸŽฏ Tip: .ssh/config ์„ค์ • ์˜ˆ์‹œ

Host your-gitea-host
  HostName your-gitea-host
  Port 22222
  User git
  IdentityFile ~/.ssh/coolify_key
  IdentitiesOnly yes

โ†’ ์ด์ œ๋Š” ๊ทธ๋ƒฅ ๋‹ค์Œ์ฒ˜๋Ÿผ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ ‘์† ๊ฐ€๋Šฅ:

ssh your-gitea-host

๐Ÿ™Œ ๋งˆ์น˜๋ฉฐ

Coolify์—์„œ Gitea ์ €์žฅ์†Œ์— SSH ํ‚ค๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๋ฉด, ์ž๋™ ๋ฐฐํฌ ์‹œ์Šคํ…œ์„ ์•ˆ์ •์ ์ด๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ Gitea์ฒ˜๋Ÿผ ๊ฐœ์ธ ์„œ๋ฒ„์—์„œ ์šด์˜ํ•˜๋Š” Git ์ €์žฅ์†Œ์— ์—ฐ๊ฒฐํ•  ๋•Œ ์ด ๋ฐฉ์‹์€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

ํ•„์š”ํ•˜์‹œ๋‹ค๋ฉด ๋‹ค์Œ ๊ธ€์—์„œ "Coolify์—์„œ ์ž๋™ ๋ฐฐํฌ ํŠธ๋ฆฌ๊ฑฐ + Webhook ์„ค์ •"๋„ ์†Œ๊ฐœํ•ด๋“œ๋ฆด๊ฒŒ์š”.