-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Docker ko KR
ASF๋ docker ์ปจํ ์ด๋ ํํ๋ก๋ ์ ๊ณต๋ฉ๋๋ค. ์ ํฌ์ docker ํจํค์ง๋ ํ์ฌ **ghcr.io**์ **Docker Hub**์์ ์ด์ฉ ๊ฐ๋ฅํฉ๋๋ค.
ASF๋ฅผ Docker ์ปจํ
์ด๋์์ ์คํํ๋ ๊ฒ์ **๊ณ ๊ธ ์ค์ (advanced setup)**์ผ๋ก ๊ฐ์ฃผ๋๋ฉฐ, ๋๋ค์์ ์ฌ์ฉ์์๊ฒ๋ ํ์ํ์ง ์๊ณ , ์ผ๋ฐ์ ์ผ๋ก ์ปจํ
์ด๋๋ฅผ ์ฌ์ฉํ์ง ์๋ ์ค์ ์ ๋นํด ๋ณ๋ค๋ฅธ ์ด์ ์ด ์๋ค๋ ์ ์ ์ ์ํด์ผ ํฉ๋๋ค. ASF๋ฅผ ์๋น์ค๋ก ์คํํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ผ๋ก(์: OS์ ํจ๊ป ์๋ ์์๋๋๋ก ํ๊ธฐ ์ํด) Docker๋ฅผ ๊ณ ๋ คํ๊ณ ๊ณ์๋ค๋ฉด, ๋์ ๊ด๋ฆฌ(management) ์น์
์ ์ฝ์ด๋ณด์๊ณ ์ ์ ํ systemd ์๋น์ค๋ฅผ ์ค์ ํ์๋ ๊ฒ์ ๊ณ ๋ คํด๋ณด์ธ์. ์ด๋ Docker ์ปจํ
์ด๋์์ ASF๋ฅผ ์คํํ๋ ๊ฒ๋ณด๋ค ๊ฑฐ์ ํญ์ ๋ ๋์ ๋ฐฉ๋ฒ์
๋๋ค.
Docker ์ปจํ
์ด๋์์ ASF๋ฅผ ์คํํ๋ฉด ๋ณดํต ์ง์ ๋ง์ฃผํ๊ณ ํด๊ฒฐํด์ผ ํ๋ ์ฌ๋ฌ ์๋ก์ด ๋ฌธ์ ์ ์ด์๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด๋ฌํ ์ด์ ๋ก, ์ด๋ฏธ Docker์ ๋ํ ์ง์์ด ์๊ณ ๋ด๋ถ ๋์ ๋ฐฉ์์ ์ดํดํ๋ ๋ฐ ๋ณ๋์ ๋์์ด ํ์ํ์ง ์์ ๊ฒฝ์ฐ๊ฐ ์๋๋ผ๋ฉด ์ด๋ฅผ ํผํ์๊ธธ ๊ฐ๋ ฅํ ๊ถ์ฅ๋๋ฆฝ๋๋ค. Docker ๋ด๋ถ ๋์์ ๋ํด์๋ ASF ์ํค์์ ์์ธํ ๋ค๋ฃจ์ง ์์ต๋๋ค. ์ด ์น์
์ ๋งค์ฐ ๋ณต์กํ ๊ตฌ์ฑ์ ์ ๋นํ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ํ ๊ฒ์ผ๋ก, ์๋ฅผ ๋ค์ด ASF๊ฐ systemd ์๋น์ค์์ ๊ธฐ๋ณธ ์ ๊ณตํ๋ ํ์ค ์๋๋ฐ์ฑ(์ด๋ฏธ ๋งค์ฐ ๊ณ ๊ธ ๋ณด์ ๋ฉ์ปค๋์ฆ์ ํตํด ์ฐ์ํ ํ๋ก์ธ์ค ๊ฒฉ๋ฆฌ๋ฅผ ๋ณด์ฅํจ)์ ๋์ด์๋ ๊ณ ๊ธ ๋คํธ์ํน์ด๋ ๋ณด์์ด ํ์ํ ๊ฒฝ์ฐ์
๋๋ค. ์ด๋ฐ ์์์ ์ฌ์ฉ์๋ฅผ ์ํด, ์ฌ๊ธฐ์๋ ASF์ Docker ํธํ์ฑ์ ๊ดํ ๊ฐ๋
์ ์ข ๋ ์์ธํ ์ค๋ช
ํฉ๋๋ค. ๋ค๋ง ์ด ๋ถ๋ถ์ ํํด์์ด๋ฉฐ, ASF์ ํจ๊ป Docker๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ๋ค๋ฉด ์ฌ์ฉ์ ์ค์ค๋ก ์ถฉ๋ถํ Docker ์ง์์ ๊ฐ์ถ๊ณ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
ASF๋ ์ฌ๋ฌ ์ข ๋ฅ์ **ํ๊ทธ(tags)**๋ฅผ ํตํด ์ ๊ณต๋ฉ๋๋ค:
main ๋ธ๋์น์ ์ต์ ์ปค๋ฐ์ผ๋ก ๋น๋๋ ASF์ ๋ฒ์ฉ ๋น๋๋ก, ์ ํฌ CI ํ์ดํ๋ผ์ธ์์ ์ต์ ์ํฐํฉํธ๋ฅผ ์ง์ ๊ฐ์ ธ์ค๋ ๊ฒ๊ณผ ๋์ผํ๊ฒ ๋์ํฉ๋๋ค. ๊ฐ๋ฐ ๋ชฉ์ ์ผ๋ก ๊ฐ๋ฐ์ ๋ฐ ๊ณ ๊ธ ์ฌ์ฉ์๋ฅผ ์ํด ์ ๊ณต๋๋, ๋ฒ๊ทธ๊ฐ ๊ฐ์ฅ ๋ง์ ์ ์๋ ์์ค์ ์ํํธ์จ์ด์
๋๋ค. ์ด ์ด๋ฏธ์ง๋ GitHub main ๋ธ๋์น์ ์ปค๋ฐ์ด ์์ ๋๋ง๋ค ์
๋ฐ์ดํธ๋๋ฏ๋ก, ๋งค์ฐ ์ฆ์ ๋ณ๊ฒฝ(๊ทธ๋ฆฌ๊ณ ์ผ๋ถ ๊ธฐ๋ฅ์ด ์ ์ ์๋ํ์ง ์๋ ์ํฉ)์ด ์์ ์ ์์ต๋๋ค. ์ ํฌ ๋ฆด๋ฆฌ์ค ์ฃผ๊ธฐ์์ ์ค๋ช
ํ ๊ฒ์ฒ๋ผ, ์์ ์ฑ์ด๋ ํ
์คํธ ์๋ฃ๊ฐ ๋ฐ๋์ ๋ณด์ฅ๋์ง๋ ์๋ ASF ํ๋ก์ ํธ์ ํ์ฌ ์ํ๋ฅผ ๋ํ๋ด๊ธฐ ์ํ ๊ฒ์
๋๋ค. ์ด ํ๊ทธ๋ ์ด๋ ํ ํ๋ก๋์
ํ๊ฒฝ์์๋ ์ฌ์ฉํด์๋ ์ ๋ฉ๋๋ค. ํด๋น ์ปค๋ฐ์ด ๊ฒช๊ณ ์๋ ๋ฌธ์ ๋ฅผ ์ค์ ๋ก ์์ ํ๋์ง ํ์ธํ๊ณ ์ ํ ๋, ๊ทธ ์ปค๋ฐ์ด ํฌํจ๋ pre-release์กฐ์ฐจ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๊ฒ์ฆํ ์ ์์ด ์ ์ฉํฉ๋๋ค.
pre-release๋ฅผ ํฌํจํ์ฌ ํญ์ ์ต์ ๋ฆด๋ฆฌ์ค๋ ASF ๋ฒ์ ์ ๊ฐ๋ฆฌํค๋ ASF์ ๋ฒ์ฉ ๋น๋์
๋๋ค. main ํ๊ทธ์ ๋ฌ๋ฆฌ, ์ด ์ด๋ฏธ์ง๋ ์๋ก์ด GitHub ํ๊ทธ๊ฐ ํธ์๋ ๋๋ง๋ค ์
๋ฐ์ดํธ๋ฉ๋๋ค. ์์ ์ ์ด๋ฉด์๋ ์๋ก์ด, ์ต์ฒจ๋จ์ ์๊ธฐ๋ฅผ ์ข์ํ๋ ๊ณ ๊ธ ์ฌ์ฉ์๋ฅผ ์ํ ๊ฒ์
๋๋ค. ์ค์ ๋ก๋ pull ์์ ์์ ๊ฐ์ฅ ์ต์ ์ A.B.C.D ๋ฆด๋ฆฌ์ค๋ฅผ ๊ฐ๋ฆฌํค๋ ๋กค๋ง ํ๊ทธ์ ๋์ผํ๊ฒ ๋์ํฉ๋๋ค. ์ด ํ๊ทธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ ํฌ **pre-release**๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๋์ผํ๋ค๋ ์ ์ ์ ์ํ์ธ์.
ํญ์ ์ต์ stable ASF ๋ฒ์ ์ ๊ฐ๋ฆฌํค๋ ASF์ ๋ฒ์ฉ ๋น๋์
๋๋ค. released ํ๊ทธ์ ๋ฌ๋ฆฌ, ์ด ์ด๋ฏธ์ง๋ ์๋ก์ด ASF stable ๋ฒ์ ์ด ๋์ฌ ๋ ์
๋ฐ์ดํธ๋ฉ๋๋ค. ์์์ ์ธ๊ธํ released ํ๊ทธ์ stable ๋ฒ์ ์ ์ฐพ๋ ์ฌ์ฉ์์๊ฒ ๊ถ์ฅ๋ฉ๋๋ค.
ํญ์ ์ต์ stable ASF ๋ฒ์ ์ ๊ฐ๋ฆฌํค๋ OS๋ณ ASF ๋น๋์ ๋๋ค. ๋ค๋ฅธ ํ๊ทธ๋ค๊ณผ ๋น๊ตํ์ ๋, ์ด ํ๊ทธ๋ง์ด ์ ์ผํ๊ฒ ASF ์๋ ์ ๋ฐ์ดํธ๋ฅผ ํฌํจํฉ๋๋ค. ์ด ํ๊ทธ์ ๋ชฉ์ ์ ์์ฒด ์ ๋ฐ์ดํธ๊ฐ ๊ฐ๋ฅํ OS๋ณ ASF ๋น๋๋ฅผ ์คํํ ์ ์๋, ๋ฌด๋ํ ๊ธฐ๋ณธ Docker ์ปจํ ์ด๋๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค. ์ด ๋๋ฌธ์ ๊ฐ๋ฅํ๋งํผ ์์ฃผ ์ ๋ฐ์ดํธ ๋ ํ์๊ฐ ์์ต๋๋ค. ํฌํจ๋ ASF ๋ฒ์ ์ ํ์ํ๋ค๋ฉด ์ค์ค๋ก ์ ๋ฐ์ดํธ๋ ์ ์์ต๋๋ค.
๋ฌผ๋ก UpdatePeriod๋ ์์ ํ๊ฒ ๋ ์ ์์ง๋ง(0์ผ๋ก ์ค์ ), ์ด ๊ฒฝ์ฐ์๋ ๋์ stable ๋ฆด๋ฆฌ์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก, ์ํ๋ค๋ฉด ๊ธฐ๋ณธ UpdateChannel์ ์์ ํ์ฌ pre-release๋ฅผ ์ถ์ ํ๋๋ก ํ ์๋ ์์ต๋๋ค.
latest ์ด๋ฏธ์ง๋ ์๋ ์
๋ฐ์ดํธ ๊ธฐ๋ฅ์ด ์๊ธฐ ๋๋ฌธ์, .NET ๋ฐํ์๊ณผ generic ASF ๋ฒ์ ์ ํฌํจํ๋ ๋ค๋ฅธ ๋ชจ๋ ํ๊ทธ์ ๋ฌ๋ฆฌ, OS๋ณ linux ASF ๋ฒ์ ๊ณผ ํจ๊ป ๊ธฐ๋ณธ(bare) OS๋ง ํฌํจํฉ๋๋ค. ์ด๋ ์
๋ฐ์ดํธ๋ ์ ASF ๋ฒ์ ์ด ์ด๋ฏธ์ง๊ฐ ๋น๋๋ ๋ ์ฌ์ฉ๋ ๋ฐํ์๋ณด๋ค ๋ ์๋ก์ด ๋ฐํ์์ ์๊ตฌํ ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ด๋ฏธ์ง๋ฅผ ์ฒ์๋ถํฐ ๋ค์ ๋น๋ํด์ผ ํ๋ฉฐ, ์ด๋ ์๋ ์๋ํ ์ฌ์ฉ ๋ชฉ์ ์ ๋ฌด์๋ฏธํ๊ฒ ๋ง๋ญ๋๋ค.
ํ๊ทธ์ ์ผ์นํ๋ ๊ณ ์ ๋ ASF ๋ฒ์ ์ ๊ฐ๋ฆฌํค๋ ASF์ ๋ฒ์ฉ ๋น๋์ ๋๋ค. ์์ ํ๊ทธ๋ค๊ณผ ๋น๊ตํ์ ๋, ์ด ํ๊ทธ๋ ์์ ํ ๊ณ ์ ๋์ด ์์ด ํ ๋ฒ ๊ฒ์๋ ์ด๋ฏธ์ง๋ ์ดํ ์ ๋ฐ์ดํธ๋์ง ์์ต๋๋ค. ์ต์ด ๋ฆด๋ฆฌ์ค ํ ํ๋ฒ๋ ๊ฑด๋๋ฆฌ์ง ์์ GitHub ๋ฆด๋ฆฌ์ค์ ์ ์ฌํ๊ฒ ๋์ํ๊ณ , ์์ ์ ์ด๊ณ ๋๊ฒฐ๋ ํ๊ฒฝ์ ๋ณด์ฅํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ํน์ ASF ๋ฆด๋ฆฌ์ค๋ฅผ ์ฌ์ฉํ๊ณ ๋น๋ ๊ฒฐ๊ณผ๊ฐ ํญ์ ๋์ผํ๊ธฐ๋ฅผ ๊ธฐ๋ํ๋ ๊ฒฝ์ฐ(์: ASF ๋ฒ์ ์ ์ง์ ๊ด๋ฆฌํ๊ณ ์ ํ๋ ๊ฒฝ์ฐ) ์ด ํ๊ทธ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
์ฐพ๊ณ ์๋ ๊ฒ์ ๋ฐ๋ผ ๋ค๋ฆ
๋๋ค. ๋๋ถ๋ถ์ ์ฌ์ฉ์์๊ฒ latest ํ๊ทธ๊ฐ ์ต์ ์
๋๋ค. ์ด๋ ์๋น์ค๋ก ๋์ด์๋ ํน๋ณํ ๋์ปค ์ปจํ
์ด๋์ ๋ด๊ฒจ์์ ๋ฟ ๋ฐ์คํฌํ ASF๊ฐ ์ ๊ณตํ๋ ๊ฒ์ ์ ํํ๊ฒ ๋์ผํ๊ฒ ์ ๊ณตํฉ๋๋ค. ๋ค๋ง, ์ด๊ฒ์ด ๋ฐ๋์ Docker๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋ฐ๋ฅธ ๋ฐฉ์์ ์๋๋๋ค - ์ผ๋ฐ์ ์ผ๋ก๋ ์ปจํ
์ด๋๋ฅผ ๊ณ์ ์คํํ๋ ๊ฒ์ด ์๋๋ผ ๋ค์ ๋น๋ํ๋ ๊ฒ์ด ๊ธฐ๋๋๋ฉฐ, ์ด ๊ฒฝ์ฐ์๋ Docker ๊ฐ์ด๋๋ผ์ธ์ ๋ฐ๋ฅด๋ stable์ด๋ released ํ๊ทธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก, ํน์ ๊ณ ์ ๋ฒ์ ์ ASF๋ฅผ ์คํํ๊ณ ์ถ๋ค๋ฉด ๋น์ฐํ A.B.C.D ๋ฆด๋ฆฌ์ค๊ฐ ์ฐพ๊ณ ์๋ ๊ฒ์ ํด๋นํฉ๋๋ค.
main ๋น๋๋ ์ ํฌ๊ฐ ASF ํ๋ก์ ํธ์ ํ์ฌ ์ํ๋ฅผ ํ์ํ๊ธฐ ์ํ ์ฉ๋์ด๋ฏ๋ก, ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ์ ๊ถ์ฅํ์ง ์์ต๋๋ค. ๊ทธ ์ํ๋ ์ด๋ค๊ฒ๋ ์ ์์๋์ ๋ณด์ฅํ์ง ์์ง๋ง, ASF ๊ฐ๋ฐ์ ๊ด์ฌ์ด ์๋ค๋ฉด ์๋ํด๋ณด๋ ๊ฒ๋ ์ข์ต๋๋ค.
ASF Docker ์ด๋ฏธ์ง๋ ํ์ฌ linux ํ๋ซํผ์์ x64, arm, arm64 3๊ฐ์ง ์ํคํ
์ฒ๋ฅผ ๋์์ผ๋ก ๋น๋๋ฉ๋๋ค. ๋ ๋ง์ ์ ๋ณด๋ ํธํ์ฑ ํญ๋ชฉ์ ์ฐธ๊ณ ํ์ญ์์ค.
์ ํฌ ํ๊ทธ๋ ๋ฉํฐ ํ๋ซํผ ๋งค๋ํ์คํธ๋ฅผ ์ฌ์ฉํ๋ฏ๋ก, ์ด๋ฏธ์ง๋ฅผ pullํ ๋ ์ฌ์ฉ์์ ๊ธฐ๊ธฐ์ ์ค์น๋ Docker๊ฐ ํด๋น ํ๋ซํผ์ ๋ง๋ ์ด๋ฏธ์ง๋ฅผ ์๋์ผ๋ก ์ ํํฉ๋๋ค. ํน์๋ผ๋ ํ์ฌ ์คํ ์ค์ธ ํ๋ซํผ๊ณผ ๋ค๋ฅธ ํน์ ํ๋ซํผ์ฉ ์ด๋ฏธ์ง๋ฅผ pullํ๊ณ ์ถ๋ค๋ฉด, docker run๊ณผ ๊ฐ์ ์ ์ ํ docker ๋ช
๋ น์ด์์ --platform ์ค์์น๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ **์ด๋ฏธ์ง ๋งค๋ํ์คํธ(image manifest)**์ ๊ดํ docker ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ธ์.
์์ ํ ์ฐธ์กฐ๋ **๋์ปค ๊ณต์ ๋ฌธ์**๋ฅผ ์ฐธ๊ณ ํ์๊ณ , ์ด ๊ฐ์ด๋์์๋ ๊ฐ๋จํ ์ฌ์ฉ๋ฒ๋ง ๋ค๋ฃน๋๋ค. ๋ ๊น์ด ๊ณต๋ถํ๋ ๊ฒ๋ ์ข์ต๋๋ค.
๋จผ์ ๋์ปค๊ฐ ์ ์์ ์ผ๋ก ์๋ํ๋์ง ํ์ธํด์ผํฉ๋๋ค. ์ด๊ฒ์ด ASF์ "Hello World!" ์ ๋๋ค.
docker run -it --name asf --pull always --rm justarchi/archisteamfarmdocker run ์ผ๋ก ๋น์ ์ ์๋ก์ด ASF ๋์ปค ์ปจํ
์ด๋๋ฅผ ์์ฑํ๊ณ ์ ๊ฒฝ์์ ์คํ๋๋๋ก ํฉ๋๋ค(-it). --pull always๋ ์ต์ ์ด๋ฏธ์ง๊ฐ ๋จผ์ pull๋๋๋ก ๋ณด์ฅํ๋ฉฐ, --rm์ ์ง๊ธ์ ๋จ์ํ ์ ์ ์๋ ์ฌ๋ถ๋ฅผ ํ
์คํธํ๋ ๊ฒ์ด๋ฏ๋ก ์ปจํ
์ด๋๊ฐ ์ค์ง๋๋ฉด ์๋์ผ๋ก ์ญ์ ๋๋๋ก ๋ณด์ฅํฉ๋๋ค.
๋ชจ๋ ๊ฒ์ด ์ฑ๊ณต์ ์ผ๋ก ๋๋๋ฉด, ๋ชจ๋ ๋ ์ด์ด๋ฅผ ๋น๊ธฐ๊ณ ์ปจํ
์ด๋๋ฅผ ์์ํ ๋ค ASF๊ฐ ์ ์์ ์ผ๋ก ์์ํด์ ์ ์๋ ๋ด์ด ์๋ค๊ณ ์๋ฆฌ๊ณ ์์์ ์๊ฒ ๋ฉ๋๋ค. ASF๊ฐ ๋์ปค์์ ์ ์์ ์ผ๋ก ์๋ํ๊ณ ์์ต๋๋ค. CTRL+C๋ฅผ ๋๋ฅด๋ฉด ASF ํ๋ก์ธ์ค๊ฐ ์ข
๋ฃ๋๋ฉฐ, ์ด์ ๋ฐ๋ผ ์ปจํ
์ด๋๋ ํจ๊ป ์ข
๋ฃ๋ฉ๋๋ค.
๋ช
๋ น์ด๋ฅผ ์์ธํ ๋ดค๋ค๋ฉด ํ๊ทธ๋ฅผ ์ ์ธํ์ง ์์์์ ์๊ฒ ๋์์ ๊ฒ๋๋ค. ํ๊ทธ๋ ์๋์ผ๋ก ๊ธฐ๋ณธ๊ฐ์ธ latest ๊ฐ ๋ฉ๋๋ค. latest๊ฐ ์๋ ๋ค๋ฅธ ํ๊ทธ(์: released)๋ฅผ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด, ์ด๋ฅผ ๋ช
์์ ์ผ๋ก ์ง์ ํด์ผ ํฉ๋๋ค:
docker run -it --name asf --pull always --rm justarchi/archisteamfarm:releasedASF๋ฅผ ๋์ปค ์ปจํ
์ด๋์์ ์ฌ์ฉํ๊ณ ์๋ค๋ฉด ํ๋ก๊ทธ๋จ ์์ฒด๋ฅผ ํ๊ฒฝ์ค์ ํ ํ์๊ฐ ์์ต๋๋ค. ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ํ ์ ์์ง๋ง, ์ถ์ฒํ๋ ๊ฒ์ ๋ก์ปฌ ๊ธฐ๊ธฐ์ ASF config ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ค์ด์ ASF ๋์ปค ์ปจํ
์ด๋์ ๊ณต์ ๋ณผ๋ฅจ์ผ๋ก ๋ง์ดํธ ํ๋ ๊ฒ์
๋๋ค.
์๋ฅผ ๋ค์ด, ๋น์ ์ ASF ํ๊ฒฝ์ค์ ํด๋๊ฐ /home/archi/ASF/config ๋๋ ํ ๋ฆฌ์ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ์ด ๋๋ ํ ๋ฆฌ๋ ํต์ฌ ASF.json๊ณผ ์คํํ๋ ค๋ ๋ด์ด ๋ด๊ฒจ ์์ต๋๋ค. ์ด์ ํ ์ผ์ ๋จ์ํ ์ด ๋๋ ํ ๋ฆฌ๋ฅผ ๋์ปค ์ปจํ
์ด๋์ ๊ณต์ ๋ณผ๋ฅจ์ผ๋ก ๋ถ์ด๋ ๊ฒ์
๋๋ค. ASF๋ ์ฌ๊ธฐ์ ํ๊ฒฝ์ค์ ๋๋ ํ ๋ฆฌ(/app/config)๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
docker run -it -v /home/archi/ASF/config:/app/config --name asf --pull always justarchi/archisteamfarm๊ทธ๋ฌ๋ฉด ๋์
๋๋ค. ์ด์ ASF ๋์ปค ์ปจํ
์ด๋๋ ๋ก์ปฌ ๊ธฐ๊ธฐ์ ์๋ ๊ณต์ ๋๋ ํ ๋ฆฌ๋ฅผ ์ฝ๊ธฐ-์ฐ๊ธฐ ๋ชจ๋๋ก ์ฌ์ฉํ๊ณ , ์ด๋ ASF๋ฅผ ์ค์ ํ๋๋ฐ ํ์ํ ์ ๋ถ์
๋๋ค. ๋ง์ฐฌ๊ฐ์ง ๋ฐฉ์์ผ๋ก, /app/logs๋ /app/plugins์ฒ๋ผ ASF์ ๊ณต์ ํ๊ณ ์ถ์ ๋ค๋ฅธ ๋ณผ๋ฅจ๋ ๋ง์ดํธํ ์ ์์ต๋๋ค.
๋ฌผ๋ก , ์ด๋ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๋ฐ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํ ํ๋์ ๋ฐฉ๋ฒ์ผ๋ฟ์ด๊ณ , ์์ ๋ง์ Dockerfile์ ๋ง๋ค์ด์ ํ๊ฒฝ์ค์ ํ์ผ์ ASF ๋์ปค ์ปจํ
์ด๋ ์์ /app/config ๋๋ ํ ๋ฆฌ๋ก ๋ณต์ฌํ๋ ๋ฑ ๋น์ ์ด ํ๋ ค๋ ๊ฒ์ ๋ง์์ ์๋ ๊ฒ์ ์์ต๋๋ค. ์ด ๊ฐ์ด๋์์๋ ๊ธฐ๋ณธ์ ์ธ ๊ฒ๋ง์ ๋ค๋ฃน๋๋ค.
ASF ์ปจํ
์ด๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก root ์ฌ์ฉ์๋ก ์ด๊ธฐํ๋์ด ๋ด๋ถ ๊ถํ ๊ด๋ จ ์์
์ ์ฒ๋ฆฌํ ์ ์์ผ๋ฉฐ, ์ดํ ๋ฉ์ธ ํ๋ก์ธ์ค์ ๋๋จธ์ง ๋ถ๋ถ์์๋ asf(UID 1000) ์ฌ์ฉ์๋ก ์ ํ๋ฉ๋๋ค. ์ด๋ ๋๋ค์ ์ฌ์ฉ์์๊ฒ๋ ๋ฌธ์ ๊ฐ ์์ง๋ง, ๊ณต์ ๋ณผ๋ฅจ์๋ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์๋ก ์์ฑ๋๋ ํ์ผ์ ์ผ๋ฐ์ ์ผ๋ก asf ์ฌ์ฉ์ ์์ ๊ฐ ๋๋๋ฐ, ๊ณต์ ๋ณผ๋ฅจ์ ๋ค๋ฅธ ์ฌ์ฉ์๋ฅผ ์ง์ ํ๊ณ ์ถ๋ค๋ฉด ์ํ์ง ์๋ ์ํฉ์ผ ์ ์์ต๋๋ค.
ASF๊ฐ ์คํ๋๋ ์ฌ์ฉ์๋ฅผ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์๋ ๋ ๊ฐ์ง๊ฐ ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ, ๊ถ์ฅ๋๋ ๋ฐฉ๋ฒ์ ์คํํ๊ณ ์ ํ๋ ๋์ UID๋ฅผ ASF_UID ํ๊ฒฝ ๋ณ์๋ก ์ง์ ํ๋ ๊ฒ์
๋๋ค. ๋ ๋ฒ์งธ, ๋์์ ์ธ ๋ฐฉ๋ฒ์ docker๊ฐ ์ง์ ์ง์ํ๋ --user **ํ๋๊ทธ**๋ฅผ ์ ๋ฌํ๋ ๊ฒ์
๋๋ค.
์๋ฅผ ๋ค์ด id -u ๋ช
๋ น์ด๋ก ๋ณธ์ธ์ uid๋ฅผ ํ์ธํ ๋ค, ์์์ ์ค๋ช
ํ ๋๋ก ์ง์ ํ๋ฉด ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋์ ์ฌ์ฉ์์ uid๊ฐ 1001์ธ ๊ฒฝ์ฐ:
docker run -it -e ASF_UID=1001 -v /home/archi/ASF/config:/app/config --name asf --pull always justarchi/archisteamfarm
# Alternatively, if you understand the limitations below
docker run -it -u 1001 -v /home/archi/ASF/config:/app/config --name asf --pull always justarchi/archisteamfarmASF_UID์ --user ํ๋๊ทธ์ ์ฐจ์ด๋ ๋ฏธ๋ฌํ์ง๋ง ์ค์ํฉ๋๋ค. ASF_UID๋ ASF๊ฐ ์ง์ํ๋ ์ปค์คํ
๋ฉ์ปค๋์ฆ์ผ๋ก, ์ด ๊ฒฝ์ฐ docker ์ปจํ
์ด๋๋ ์ฌ์ ํ root๋ก ์์ํ๋ฉฐ, ์ดํ ASF ์์ ์คํฌ๋ฆฝํธ๊ฐ ASF_UID ๊ถํ์ผ๋ก ๋ฉ์ธ ๋ฐ์ด๋๋ฆฌ๋ฅผ ์คํํฉ๋๋ค. --user ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ๋ฉด, ASF ์์ ์คํฌ๋ฆฝํธ๋ฅผ ํฌํจํ ์ ์ฒด ํ๋ก์ธ์ค๊ฐ ์ง์ ๋ ์ฌ์ฉ์ ๊ถํ์ผ๋ก ์์๋ฉ๋๋ค. ์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด ASF ์์ ์คํฌ๋ฆฝํธ๊ฐ ๊ถํ ๋ฑ์ ์๋์ผ๋ก ์ฒ๋ฆฌํด์ฃผ์ด, ์ฌ์ฉ์๊ฐ ์ ๋ฐํ์ ์ ์๋ ์ผ๋ถ ์ผ๋ฐ์ ์ธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ค๋๋ค. ์๋ฅผ ๋ค์ด /app๊ณผ /asf ๋๋ ํ ๋ฆฌ๊ฐ ์ค์ ๋ก ASF_UID ์์ ๊ฐ ๋๋๋ก ๋ณด์ฅํฉ๋๋ค. ๋ ๋ฒ์งธ ๋ฐฉ์์์๋ root๋ก ์คํ๋์ง ์๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์์ผ๋ฉฐ, ์ฌ์ฉ์๊ฐ ๋ฏธ๋ฆฌ ์ง์ ๋ชจ๋ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
--user ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค๋ฉด, ๊ธฐ๋ณธ๊ฐ์ธ 1000์์ ์๋ก ์ง์ ํ ์ปค์คํ
์ฌ์ฉ์๋ก ๋ชจ๋ ASF ํ์ผ์ ์์ ๊ถ์ ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค. ์๋ ๋ช
๋ น์ด๋ฅผ ์คํํ์ฌ ์ด๋ฅผ ์ํํ ์ ์์ต๋๋ค:
# Execute only if you're not using ASF_UID
docker exec -u root asf_container_name chown -hR 1001 /app /asf์ด ์์
์ docker run์ผ๋ก ์ปจํ
์ด๋๋ฅผ ์์ฑํ ํ ํ ๋ฒ๋ง ์ํํ๋ฉด ๋๋ฉฐ, --user docker ํ๋๊ทธ๋ฅผ ํตํด ์ปค์คํ
์ฌ์ฉ์๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ํ ๊ฒฝ์ฐ์๋ง ํ์ํฉ๋๋ค. ๋ํ ์ ๋ช
๋ น์ด์ 1001 ์ธ์๋ฅผ ์ค์ ๋ก ASF๋ฅผ ์คํํ๊ณ ์ ํ๋ UID๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ ์์ง ๋ง์ธ์.
RHEL ๊ณ์ด ๋ฐฐํฌํ ๋ฑ์์ ๊ธฐ๋ณธ๊ฐ์ธ enforced ์ํ๋ก SELinux๋ฅผ ์ฌ์ฉ ์ค์ด๋ผ๋ฉด, ๋ณผ๋ฅจ์ ๋ง์ดํธํ ๋ :Z ์ต์
์ ์ถ๊ฐํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ํด๋น ๋ณผ๋ฅจ์ ์ฌ๋ฐ๋ฅธ SELinux ์ปจํ
์คํธ๊ฐ ์ค์ ๋ฉ๋๋ค.
docker run -it -v /home/archi/ASF/config:/app/config:Z --name asf --pull always justarchi/archisteamfarm
์ด๋ฅผ ํตํด ASF๊ฐ docker ์ปจํ ์ด๋ ๋ด๋ถ์์ ํด๋น ๋ณผ๋ฅจ์ ๋์์ผ๋ก ํ์ผ์ ์์ฑํ ์ ์๊ฒ ๋ฉ๋๋ค.
management ์น์ ์ ๋ช ์๋ ๋๋ก, ASF๋ ๋ค์ค ์ธ์คํด์ค ๋๊ธฐํ ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค. ASF๋ฅผ docker ์ปจํ ์ด๋์์ ์คํํ ๋, ์ฌ๋ฌ ๊ฐ์ ASF ์ปจํ ์ด๋๋ฅผ ์คํ ์ค์ด๊ณ ์ด๋ค์ ์๋ก ๋๊ธฐํํ๊ณ ์ถ๋ค๋ฉด ์ ํ์ ์ผ๋ก ์ด ๊ณผ์ ์ "์ฐธ์ฌ"ํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก docker ์ปจํ
์ด๋ ๋ด์์ ์คํ๋๋ ๊ฐ ASF๋ ๋
๋ฆฝ์ (standalone)์ด๋ฉฐ, ์ด๋ ๋๊ธฐํ๊ฐ ์ด๋ฃจ์ด์ง์ง ์๋๋ค๋ ์๋ฏธ์
๋๋ค. ์ธ์คํด์ค ๊ฐ ๋๊ธฐํ๋ฅผ ํ์ฑํํ๋ ค๋ฉด, ๋๊ธฐํํ๋ ค๋ ๋ชจ๋ ASF ์ปจํ
์ด๋์ /tmp/ASF ๊ฒฝ๋ก๋ฅผ docker ํธ์คํธ์ ํ๋์ ๊ณต์ ๊ฒฝ๋ก์ ์ฝ๊ธฐ-์ฐ๊ธฐ ๋ชจ๋๋ก ๋ฐ์ธ๋ํด์ผ ํฉ๋๋ค. ์ด๋ ์์์ ์ค๋ช
ํ ๋ณผ๋ฅจ ๋ฐ์ธ๋ฉ๊ณผ ์ ํํ ๋์ผํ ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ง๋ฉฐ, ๊ฒฝ๋ก๋ง ๋ค๋ฅผ ๋ฟ์
๋๋ค:
mkdir -p /tmp/ASF-g1
docker run -v /tmp/ASF-g1:/tmp/ASF -v /home/archi/ASF/config:/app/config --name asf1 --pull always justarchi/archisteamfarm
docker run -v /tmp/ASF-g1:/tmp/ASF -v /home/john/ASF/config:/app/config --name asf2 --pull always justarchi/archisteamfarm
# ์ด์ ๋ชจ๋ ASF ์ปจํ
์ด๋๊ฐ ์๋ก ๋๊ธฐํ๋ฉ๋๋ค.ASF์ /tmp/ASF ๋๋ ํ ๋ฆฌ๋ ์ฌ์ฉ์ ๊ธฐ๊ธฐ์ ์์ /tmp ๋๋ ํ ๋ฆฌ์ ๋ฐ์ธ๋ํ ๊ฒ์ ๊ถ์ฅํ์ง๋ง, ๋ฌผ๋ก ์ฌ์ฉ ๋ชฉ์ ์ ๋ง๋ ๋ค๋ฅธ ๊ฒฝ๋ก๋ฅผ ์์ ๋กญ๊ฒ ์ ํํ์
๋ ๋ฉ๋๋ค. ๋๊ธฐํ๋๊ธฐ๋ฅผ ์ํ๋ ๊ฐ ASF ์ปจํ
์ด๋๋ ๋์ผํ ๋๊ธฐํ ํ๋ก์ธ์ค์ ์ฐธ์ฌํ๋ ๋ค๋ฅธ ์ปจํ
์ด๋๋ค๊ณผ /tmp/ASF ๋๋ ํ ๋ฆฌ๋ฅผ ๊ณต์ ํด์ผ ํฉ๋๋ค.
์ ์์์์ ์ง์ํ์
จ๊ฒ ์ง๋ง, ์๋ก ๋ค๋ฅธ docker ํธ์คํธ ๊ฒฝ๋ก๋ฅผ ASF์ /tmp/ASF์ ๋ฐ์ธ๋ํจ์ผ๋ก์จ ๋ ๊ฐ ์ด์์ "๋๊ธฐํ ๊ทธ๋ฃน"์ ๋ง๋๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค.
/tmp/ASF ๋ง์ดํธ๋ ์์ ํ ์ ํ ์ฌํญ์ด๋ฉฐ, ๋ ๊ฐ ์ด์์ ASF ์ปจํ
์ด๋๋ฅผ ๋ช
์์ ์ผ๋ก ๋๊ธฐํํ๊ณ ์ถ์ ๊ฒฝ์ฐ๊ฐ ์๋๋ผ๋ฉด ์ค์ ๋ก ๊ถ์ฅํ์ง ์์ต๋๋ค. ASF ์ปจํ
์ด๋๋ฅผ ํ๋๋ง ์คํํ ๊ณํ์ด๋ผ๋ฉด /tmp/ASF๋ฅผ ๋ง์ดํธํด๋ ์ ํ ์ด์ ์ด ์์ผ๋ฉฐ, ์คํ๋ ค ๋ง์ดํธํ์ง ์์๋ค๋ฉด ํผํ ์ ์์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ผ๋ฏ๋ก ๋จ์ผ ์ปจํ
์ด๋ ์ฌ์ฉ ์์๋ ๋ง์ดํธํ์ง ์๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
ASF๋ ํ๊ฒฝ๋ณ์๋ฅผ ํตํด ๋ช
๋ น์ค ์ธ์ ๋ฅผ ๋์ปค ์ปจํ
์ด๋๋ก ๋๊ฒจ์ค ์ ์์ต๋๋ค. ์ง์ํ๋ ์ค์์น๋ฅผ ์ํด์๋ ํน๋ณํ ํ๊ฒฝ๋ณ์๋ฅผ, ๊ทธ ์ธ์๋ ASF_ARGS ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. docker run ์ -e ์ค์์น๋ฅผ ๋ถ์ด๋ฉด ๋ฉ๋๋ค. ๋ค์์ ์์์
๋๋ค.
docker run -it -e "ASF_CRYPTKEY=MyPassword" -e "ASF_ARGS=--no-config-migrate" --name asf --pull always justarchi/archisteamfarm์ด๋ ๊ฒ ํ๋ฉด --cryptkey ์ธ์ ๋ฟ ์๋๋ผ ๋ค๋ฅธ ์ธ์๋ค๋ ๋์ปค ์ปจํ
์ด๋ ๋ด๋ถ์์ ์คํ๋๋ ASF ํ๋ก์ธ์ค๋ก ์ ๋ฌํ ๊ฒ์
๋๋ค. ๋ฌผ๋ก ๊ณ ๊ธ ์ฌ์ฉ์๋ผ๋ฉด ENTRYPOINT๋ฅผ ์์ ํ๊ฑฐ๋ CMD๋ฅผ ์ถ๊ฐํ์ฌ ์ง์ ์ปค์คํ
์ธ์๋ฅผ ์ ๋ฌํ ์๋ ์์ต๋๋ค.
์ปค์คํ
์ํธํ ํค๋ ๋ค๋ฅธ ๊ณ ๊ธ ์ต์
์ ์ ๊ณตํ๊ณ ์ถ์ ๊ฒฝ์ฐ๊ฐ ์๋๋ผ๋ฉด, ์ผ๋ฐ์ ์ผ๋ก ํน๋ณํ ํ๊ฒฝ ๋ณ์๋ฅผ ํฌํจํ ํ์๊ฐ ์์ต๋๋ค. ์ ํฌ docker ์ปจํ
์ด๋๋ ์ด๋ฏธ ๋ฌด๋ํ๊ณ ๊ธฐ๋๋๋ ๊ธฐ๋ณธ ์ต์
์ธ --no-restart๋ก ์คํ๋๋๋ก ๊ตฌ์ฑ๋์ด ์์ด, ํด๋น ํ๋๊ทธ๋ฅผ ASF_ARGS์ ๋ช
์์ ์ผ๋ก ์ง์ ํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์
๋๋ค.
IPC **์ ์ญ ์ค์ ์์ฑ**์ ๊ธฐ๋ณธ๊ฐ์ ๋ณ๊ฒฝํ์ง ์์๋ค๋ฉด, ์ด๋ ์ด๋ฏธ ํ์ฑํ๋์ด ์์ต๋๋ค. ๋ค๋ง, Docker ์ปจํ
์ด๋์์ IPC๊ฐ ์๋ํ๋ ค๋ฉด ๋ ๊ฐ์ง๋ฅผ ์ถ๊ฐ๋ก ํด์ผ ํฉ๋๋ค. ์ฒซ์งธ, IPCPassword๋ฅผ ์ฌ์ฉํ๊ฑฐ๋, ์ด๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ ์ธ๋ถ์์ ์ฐ๊ฒฐํ ์ ์๋๋ก ์ปค์คํ
IPC.config์์ ๊ธฐ๋ณธ KnownNetworks๋ฅผ ์์ ํด์ผ ํฉ๋๋ค. ์ ๋ง๋ก ๋ฌด์์ ํ๋์ง ์ ํํ ์๊ณ ์๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ผ๋ฉด, ๊ทธ๋ฅ IPCPassword๋ฅผ ์ฌ์ฉํ์ธ์. ๋์งธ, docker๋ ๋ฃจํ๋ฐฑ ์ธํฐํ์ด์ค๋ก ์ธ๋ถ ํธ๋ํฝ์ ๋ผ์ฐํ
ํ ์ ์์ผ๋ฏ๋ก, ๊ธฐ๋ณธ ์์ ๋๊ธฐ ์ฃผ์์ธ localhost๋ฅผ ์์ ํด์ผ ํฉ๋๋ค. ๋ชจ๋ ์ธํฐํ์ด์ค๋ฅผ ๋ฆฌ์จํ๋ ์ค์ ๊ฐ์ ์์์
๋๋ค. http://*:1242. ๋ฌผ๋ก ๋ก์ปฌ LAN์ด๋ VPN ๋คํธ์ํฌ ๊ฐ์ ๋ ์ ํ์ ์ธ ๋ฐ์ธ๋ฉ์ ์ฌ์ฉํ ์๋ ์์ง๋ง, ์ธ๋ถ์์ ๋ผ์ฐํ
๊ฐ๋ฅํด์ผ ํฉ๋๋ค. localhost๋ ๊ฒ์คํธ ๊ธฐ๊ธฐ์์์๋ง ๋ผ์ฐํ
ํ๋ฏ๋ก ์ด๊ฒ์ด ๋ถ๊ฐ๋ฅํฉ๋๋ค.
์์ ๊ฐ์ด ํ๋ ค๋ฉด, ์๋์ ๊ฐ์ **์ฌ์ฉ์ ์ค์ IPC**๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
{
"Kestrel": {
"Endpoints": {
"HTTP": {
"Url": "http://*:1242"
}
}
}
}IPC๋ฅผ ๋ฃจํ๋ฐฑ์ด ์๋ ์ธํฐํ์ด์ค์ ์ค์ ํ๊ณ ๋๋ฉด, -P ๋ -p ์ค์์น๋ฅผ ์ฌ์ฉํด์ ๋์ปค์๊ฒ ASF์ 1242/tcp ํฌํธ๋ฅผ ์๋ ค์ฃผ์ด์ผ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ์ด ๋ช ๋ น์ด๋ ASF์ IPC ์ธํฐํ์ด์ค๋ฅผ ํธ์คํธ ๊ธฐ๊ธฐ์ ์ด ๊ฒ์ ๋๋ค.
docker run -it -p 127.0.0.1:1242:1242 -p [::1]:1242:1242 --name asf --pull always justarchi/archisteamfarm๋ชจ๋ ๊ฒ์ ์ ํํ๊ฒ ์ค์ ํ๋ค๋ฉด ์์ docker run ๋ช
๋ น์ด๋ ํธ์คํธ ๊ธฐ๊ธฐ์ IPC ์ธํฐํ์ด์ค๊ฐ ๊ฒ์คํธ ๊ธฐ๊ธฐ๋ก ๋ฆฌ๋ค์ด๋ ํธ๋ ํ์ค localhost:1242 ๋ผ์ฐํธ์์๋์ํ๋๋ก ํ ๊ฒ์
๋๋ค. ์ด ๋ผ์ฐํธ๋ฅผ ๋ ๋ง์ด ๋
ธ์ถํ์ง ์์์ ์์ ๋์ญ์์ค. ์ฐ๊ฒฐ์ ์ค์ง ๋์ปค ํธ์คํธ์์์๋ง ์ด๋ฃจ์ด์ง๊ณ ์์ ํ๊ฒ ์ ์ง๋ฉ๋๋ค. ๋ฌผ๋ก , ๋ฌด์์ ํ๋์ง ์ ํํ ์๊ณ ์ ์ ํ ๋ณด์ ์กฐ์น๋ฅผ ์ทจํ๋ค๋ฉด ๊ฒฝ๋ก๋ฅผ ๋ ๊ฐ๋ฐฉํ ์๋ ์์ต๋๋ค.
์์ ์ง์์ ๋ชจ๋ ํฉ์น๋ฉด ์์ ํ ์ค์น ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
docker run -p 127.0.0.1:1242:1242 -p [::1]:1242:1242 -v /home/archi/ASF/config:/app/config -v /home/archi/ASF/plugins:/app/plugins --name asf --pull always --restart unless-stopped justarchi/archisteamfarm์ด๋ ๋จ์ผ ASF ์ปจํ
์ด๋๋ฅผ ์ฌ์ฉํ๊ณ , ๋ชจ๋ ASF config ํ์ผ์ด /home/archi/ASF/config์ ์๋ค๊ณ ๊ฐ์ ํ ๊ฒ์
๋๋ค. config ๊ฒฝ๋ก๋ ์ฌ์ฉ์ ๊ธฐ๊ธฐ ํ๊ฒฝ์ ๋ง๋ ๊ฒฝ๋ก๋ก ์์ ํด์ผ ํฉ๋๋ค. ASF์ ์ปค์คํ
ํ๋ฌ๊ทธ์ธ์ ์ ๊ณตํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ฉฐ, ์ด๋ /home/archi/ASF/plugins์ ๋ฃ์ผ๋ฉด ๋ฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ IPC.config ๋ฅผ ํ๊ฒฝ์ค์ ๋๋ ํ ๋ฆฌ์ ๋ฃ๊ธฐ๋ก ๊ฒฐ์ ํ๋ค๋ฉด ์ถ๊ฐ๋ก IPC ์ฌ์ฉ๋ ๊ฐ๋ฅํฉ๋๋ค.
{
"Kestrel": {
"Endpoints": {
"HTTP": {
"Url": "http://*:1242"
}
}
}
}๋ค์ docker compose config๋ฅผ ์ฌ์ฉํ๋ฉด ์์ docker run ๋ช
๋ น์ด์ ๋์ผํ ํจ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค:
version: "3.8"
services:
asf:
image: justarchi/archisteamfarm
container_name: asf
restart: unless-stopped
ports:
- "127.0.0.1:1242:1242"
- "[::1]:1242:1242"
volumes:
- /home/archi/ASF/config:/app/config
- /home/archi/ASF/plugins:/app/plugins์์ ๋ค๋ฃฌ ๋ด์ฉ ์ธ์, ์ ๋ ์์ ๋ชจ๋์ --restart unless-stopped๋ฅผ ์ถ๊ฐํ์ฌ ๊ธฐ๊ธฐ๊ฐ ์ฌ์์๋ ํ ์ด ์ปจํ
์ด๋๊ฐ ์๋์ผ๋ก ์์๋๋๋ก ํ์ต๋๋ค. ํ์์ ๋ง๊ฒ ์์ ๋กญ๊ฒ ์ ๊ฑฐํ๊ฑฐ๋ ๋ณ๊ฒฝํ์
๋ ๋ฉ๋๋ค.
ASF ๋์ปค ์ปจํ
์ด๋๊ฐ ์ค๋น๋์ด์๋ค๋ฉด docker run๋ฅผ ๋งค๋ฒ ์คํํ ํ์๊ฐ ์์ต๋๋ค. docker stop asf์ docker start asf๋ก ASF ๋์ปค ์ปจํ
์ด๋๋ฅผ ์ฝ๊ฒ ๋ฉ์ถ๊ณ ์์ํ ์ ์์ต๋๋ค. latest ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ, ์ต์ ASF๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ฌ์ ํ docker stop, docker rm์ ์คํํ ํ docker run์ ๋ค์ ์คํํด์ผ ํ๋ค๋ ์ ์ ์ ์ํ์ธ์. ์ด๋ ๋งค ๋ฒ์ ๋ง๋ค ์๋ก์ด ASF ๋์ปค ์ด๋ฏธ์ง๋ก๋ถํฐ ๋ค์ ๋น๋ํด์ผ ํ๊ธฐ ๋๋ฌธ์
๋๋ค. latest ํ๊ทธ์์๋ ASF๊ฐ ์์ฒด ์๋ ์
๋ฐ์ดํธ ๊ธฐ๋ฅ์ ํฌํจํ๊ณ ์์ผ๋ฏ๋ก, ์ต์ ASF๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ์ด๋ฏธ์ง๋ฅผ ๋ค์ ๋น๋ํ ํ์๋ ์์ต๋๋ค (๋ค๋ง ์ต์ .NET ๋ฐํ์ ์ข
์์ฑ ๋ฐ ๊ธฐ๋ฐ OS๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด, ํนํ ASF ์ฃผ์ ๋ฒ์ ์
๋ฐ์ดํธ๋ฅผ ๊ฑด๋๋ฐ์ด ๋์ด๊ฐ๋ ๊ฒฝ์ฐ ํ์ํ ์ ์์ผ๋ฏ๋ก ๊ฐ๋์ฉ ๋ค์ ๋น๋ํ๋ ๊ฒ๋ ์ข์ ๋ฐฉ๋ฒ์
๋๋ค).
์์์ ์์ํ์๋ฏ์ด, latest ๊ฐ ์๋ ASF ํ๊ทธ๋ ์ค์ค๋ก ์๋ ์
๋ฐ์ดํธํ์ง ์์ต๋๋ค. ์ฆ, ๋น์ ์ด ์ต์ ์ justarchi/archisteamfarm ์ ์ฅ์๋ฅผ ์ฌ์ฉํ ์ฃผ์ฒด์
๋๋ค. ๋ณดํต ์ฑ์ด ์คํ์ค์๋ ์ฝ๋๋ฅผ ๊ฑด๋๋ ค์๋ ์๋๊ธฐ ๋๋ฌธ์ ๋ง์ ์ฅ์ ์ ๊ฐ์ง๋ง, ๋์ปค ์ปจํ
์ด๋์ ์๋ ASF๋ ๊ฑฑ์ ํ ํ์๊ฐ ์๋ค๋ ํธ๋ฆฌํจ๋ ์์ต๋๋ค. ์ข์ ์ฌ๋ก์ ์ ํํ ๋์ปค ์ฌ์ฉ๋ก๋ฅผ ์ ์ดํ๋ค๋ฉด ์ฐ๋ฆฌ๊ฐ ์ถ์ฒํ๋ ๊ฒ์ latest ํ๊ทธ๊ฐ ์๋ released ํ๊ทธ์
๋๋ค. ํ์ง๋ง ๊ทธ๊ฒ ๊ท์ฐฎ๊ณ ASF๊ฐ ๋์๋ ์ํ๊ณ ์๋ ์
๋ฐ์ดํธ๋ ํ๊ธธ ์ํ๋ฉด latest ํ๊ทธ๊ฐ ๊ทธ ๋ต์
๋๋ค.
๋ณดํต ASF ๋์ปค ์ปจํ
์ด๋๋ Headless: true ์ผ๋ฐ ์ค์ ์ํ๋ก ์คํํด์ผ ํฉ๋๋ค. ์ด๋ ASF์๊ฒ ์ธ๋ถ์ ์ธ ๋ด์ฉ์ด ๋น ์ ธ์์ด๋ ๋น์ ์ด ์ค ์ ์์ผ๋ฉฐ ๋ฌป์ง ๋ง ๊ฒ์ ์๋ฆฝ๋๋ค. ๋ฌผ๋ก ์ด๊ธฐ ์ค์น๋จ๊ณ์์๋ ์ด ์ต์
์ false๋ก ํด์ ์ฝ๊ฒ ์ค์ ํ ์ ์์ง๋ง, ์ฅ๊ธฐ์ ์ผ๋ก๋ ASF ์ฝ์์ ๋งค์ฌ์์ง ์์ผ๋ฏ๋ก ASF์๊ฒ ์ด๋ฅผ ์๋ฆฌ๊ณ ํ์๊ฐ ์์ผ๋ฉด input ๋ช
๋ น์ด ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ง์ต๋๋ค. ์ด๋ ๊ฒ ํด์ ASF๋ ์ผ์ด๋์ง ์์ ์ฌ์ฉ์ ์
๋ ฅ์ ๋ฌดํํ ๊ธฐ๋ค๋ฆฌ์ง ์์ ์ ์๊ณ ์ด์ ์์๋๋ ์์๋ญ๋น๋ฅผ ๋ง์ ์ ์์ต๋๋ค. ๋ํ ์ด๋ ASF๊ฐ ์ปจํ
์ด๋ ๋ด๋ถ์์ ๋น๋ํํ(non-interactive) ๋ชจ๋๋ก ์คํ๋๋๋ก ํด์ฃผ๋ฉฐ, ์ด๋ ์๋ฅผ ๋ค์ด ์๊ทธ๋ ์ ๋ฌ๊ณผ ๊ด๋ จํด ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ด๋ฅผ ํตํด ASF๋ docker stop asf ์์ฒญ ์ ์ ์์ ์ผ๋ก ์ข
๋ฃ๋ ์ ์์ต๋๋ค.
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|
- ๐ก ํ
- ๐ฌ ์์ฃผ ๋ฌป๋ ์ง๋ฌธ
- โ๏ธ ์์ํ๊ธฐ (์ฌ๊ธฐ์๋ถํฐ)
- ๐ฅ ๋ฐฑ๊ทธ๋ผ์ด๋ ๊ฒ์ ๋ฑ๋ก๊ธฐ
- ๐ข ๋ช ๋ น์ด
- ๐ ๏ธํธํ์ฑ
- ๐ง ํ๊ฒฝ์ค์
- ๐ด ItemsMatcherPlugin
- ๐ ๊ด๋ฆฌ
- โฑ๏ธ ์ฑ๋ฅ
- ๐ก ์๊ฒฉ ํต์
- ๐ช Steam ๊ฐ์กฑ ๊ณต์
- ๐ ๊ฑฐ๋
- โจ๏ธ ๋ช ๋ น์ค ์ธ์
- ๐ง ์ฌ์ฉ ์ค๋จ
- ๐ณ Docker
- ๐ค ์ถ๊ฐ ์์ฃผ ๋ฌป๋ ์ง๋ฌธ
- ๐ ๊ณ ์ฑ๋ฅ ์ค์
- ๐ IPC
- ๐ ํ์งํ
- ๐ ๋ก๊น
- ๐พ ์ ์ฌ์ ๋ฉ๋ชจ๋ฆฌ ํ๊ฒฝ ์ค์
- ๐ต๐ผโโ๏ธ MonitoringPlugin
- ๐ ํ๋ฌ๊ทธ์ธ
- ๐ ๋ณด์
- โฌ๏ธ SteamTokenDumperPlugin
- ๐ฆ ์๋ ํํฐ
- ๐ต 2๋จ๊ณ ์ธ์ฆ







