Docker 구성으로 Nakama 설치
#
Docker를 사용하면 Nakama를 가장 빨리 다운로드하고 개발을 시작할 수 있습니다. Docker를 사용하여 다음 작업을 수행할 수 있습니다:
- 새로운 환경에 설치
- Nakama에서 CockroachDB 또는 PostgreSQL 데이터베이스 설치 및 실행
- 기본 운영 체제에 영향을 주지 않는 상태에서 스냅샷을 찍거나 제거하고 Nakama를 재설치합니다.
- OS와 무관하게 신속하고 간단하게 설치할 수 있습니다.
이 가이드에서 설명한 대로 Docker Compose를 사용하여 모든 필요한 서비스를 신속하고 쉽게 정의하고 Nakama에서 로컬 개발 인스턴스를 실행할 수 있습니다.
필수 조건
#
진행하기 전에 Docker Desktop을 설치했는지 확인합니다.
Nakama 실행
#
- 예를 들어, Nakama 서버를 저장할 디렉터리를 생성합니다
Desktop/nakama
. - 이 폴더에서
docker-compose.yml
파일을 생성하고 원하는 텍스트 편집기를 사용하여 파일을 엽니다. - Heroic Lab에서는 두 개의 YML 파일을 사용할 수 있습니다. CockroachDB 또는 PostgreSQL을 데이터베이스로 사용합니다.
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
| version: '3'
services:
cockroachdb:
image: cockroachdb/cockroach:latest-v23.1
command: start-single-node --insecure --store=attrs=ssd,path=/var/lib/cockroach/
restart: "no"
volumes:
- data:/var/lib/cockroach
expose:
- "8080"
- "26257"
ports:
- "26257:26257"
- "8080:8080"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health?ready=1"]
interval: 3s
timeout: 3s
retries: 5
nakama:
image: registry.heroiclabs.com/heroiclabs/nakama:3.22.0
entrypoint:
- "/bin/sh"
- "-ecx"
- >
/nakama/nakama migrate up --database.address root@cockroachdb:26257 &&
exec /nakama/nakama --name nakama1 --database.address root@cockroachdb:26257 --logger.level DEBUG --session.token_expiry_sec 7200 --metrics.prometheus_port 9100
restart: "no"
links:
- "cockroachdb:db"
depends_on:
cockroachdb:
condition: service_healthy
prometheus:
condition: service_started
volumes:
- ./:/nakama/data
expose:
- "7349"
- "7350"
- "7351"
- "9100"
ports:
- "7349:7349"
- "7350:7350"
- "7351:7351"
healthcheck:
test: ["CMD", "/nakama/nakama", "healthcheck"]
interval: 10s
timeout: 5s
retries: 5
prometheus:
image: prom/prometheus
entrypoint: /bin/sh -c
command: |
'sh -s <<EOF
cat > ./prometheus.yml <<EON
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: prometheus
static_configs:
- targets: ['localhost:9090']
- job_name: nakama
metrics_path: /
static_configs:
- targets: ['nakama:9100']
EON
prometheus --config.file=./prometheus.yml
EOF'
ports:
- '9090:9090'
volumes:
data:
|
docker-compose-postgres.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
| version: '3'
services:
postgres:
container_name: postgres
image: postgres:12.2-alpine
environment:
- POSTGRES_DB=nakama
- POSTGRES_PASSWORD=localdb
volumes:
- data:/var/lib/postgresql/data
expose:
- "8080"
- "5432"
ports:
- "5432:5432"
- "8080:8080"
healthcheck:
test: ["CMD", "pg_isready", "-U", "postgres", "-d", "nakama"]
interval: 3s
timeout: 3s
retries: 5
nakama:
container_name: nakama
image: registry.heroiclabs.com/heroiclabs/nakama:3.22.0
entrypoint:
- "/bin/sh"
- "-ecx"
- >
/nakama/nakama migrate up --database.address postgres:localdb@postgres:5432/nakama &&
exec /nakama/nakama --name nakama1 --database.address postgres:localdb@postgres:5432/nakama --logger.level DEBUG --session.token_expiry_sec 7200
restart: always
links:
- "postgres:db"
depends_on:
postgres:
condition: service_healthy
volumes:
- ./:/nakama/data
expose:
- "7349"
- "7350"
- "7351"
ports:
- "7349:7349"
- "7350:7350"
- "7351:7351"
healthcheck:
test: ["CMD", "/nakama/nakama", "healthcheck"]
interval: 10s
timeout: 5s
retries: 5
volumes:
data:
|
docker-compose.yml
파일로 원하는 옵션의 컨텐츠를 복사해서 붙여넣습니다.
nakama:volumes:
항목을 docker-compose.yml
파일로 /c/Users/<username>/projects/docker:/nakama/data
.
와 같이 편집합니다.
- Terminal 창을 열고 Nakama 디렉터리로 이동합니다. 예:
- 필요한 이미지를 가져와서 애플리케이션을 시작하려면 다음을 실행합니다:
- 축하합니다! 이제
127.0.0.1:7350
에서 Nakama 서버를 실행할 수 있습니다.
Open in Visual Studio Code 버튼(또는 IDE)을 사용하여 docker-compose.yml
파일을 직접 편집합니다.
Nakama Console
#
브라우저에서 127.0.0.1:7351로 이동하여 Nakama Console에 액세스할 수 있습니다:
로그인 알림이 표시되면 기본 자격 증명은 admin:password
입니다. 구성 파일 또는 명령 라인 플래그를 통해 변경할 수 있습니다.
구성 파일
#
Nakama 서버를 사용자 지정으로 설정하기 위해서 여러 구성 옵션을 사용할 수 있습니다. 설정하려고 하는 모든 구성에 대해서 YML 파일을 생성하고 해당 파일을 Docker 컨테이너로 전달할 수 있습니다.
먼저, Docker에서 사용할 수 있는 로컬 저장 용량을 생성해야 합니다.
- 원하는 텍스트 편집기에서
docker-compose.yml
파일을 엽니다. - 원하는 용량을 지정하기 위해서
nakama:volumes:
항목을 편집합니다. 예를 들어, Docker 컨테이너의 nakama/data
에서 사용할 수 있는 desktop/nakama
디렉터리에 /data
폴더를 생성하려면 다음 작업을 수행합니다:
1
2
| volumes:
- ./data:/nakama/data
|
- 변경된 파일을 저장하고 Docker 컨테이너를 다시 시작하면 변경사항이 적용됩니다. Terminal에서 다음 작업을 수행합니다:
- 다음으로,
my-config.yml
과 같이 사용자 지정 구성 파일을 생성하고 Docker에서 사용할 수 있는 /data
폴더로 이동시킵니다.
my-config.yml
1
2
3
4
5
6
7
8
9
10
11
12
| name: nakama-node-1
data_dir: "./data/"
logger:
stdout: false
level: "warn"
file: "/nakama/data/logfile.log"
console:
port: 7351
username: "my_user"
password: "my_password"
|
- 이번에는
docker-compose.yml
파일을 다시 열고 nakama:entrypoint
항목을 편집하여 --config
플래그 포인트를 구성 파일에 추가합니다. 다음과 같이 수행해야 합니다:
1
2
3
4
5
6
7
| nakama:
entrypoint:
- "/bin/sh"
- "-ecx"
- >
/nakama/nakama migrate up --database.address root@cockroachdb:26257 &&
/nakama/nakama --config /nakama/data/my-config.yml
|
- 변경된 파일을 저장하고 Docker 컨테이너를 다시 시작하면 변경사항이 적용됩니다. Terminal에서 다음 작업을 수행합니다:
다음 단계
#
Nakama 서버가 원하는 구성으로 실행중인 경우, 원하는 클라이언트 SDK로 시작할 수 있습니다.
Related Pages