실행방법

이 페이지는 《엔서》 설치후 실행하는 방법에 대하여 정리한 곳입니다.

Docker 실행

유틸리티 스크립트 다운로드

Docker를 사용하는데 익숙치 않다면 다음 명령으로 스크립트를 다운로드 받습니다.

1sudo curl -L "https://raw.githubusercontent.com/bogonets/answer-doc/master/_static/answer-cli" -o /usr/local/bin/answer-cli
2sudo chmod +x /usr/local/bin/answer-cli

스크립드 사용 방법은 다음과 같습니다.

 1Usage: answer-cli [options] {command} {?module}
 2
 3Available options are:
 4  -h, --help     Print this message.
 5  -y, --yes      Automatic yes to prompts.
 6  -l, --list     List of options.
 7  -n, --dry-run  Don’t actually do anything, just show what would be done.
 8  -v, --verbose  Be more verbose/talkative during the operation.
 9  --             Stop handling options.
10
11List of commands:
12  images         List images
13  logs           View output from containers
14  ps             List containers
15  pull           Pull service images
16  restart        Restart services
17  rm             Remove stopped containers
18  start          Start services
19  stop           Stop services
20  run            Create new containers
21
22List of modules:
23  db             Database
24  s3             Storage Service
25  core           Answer core
26  api            Answer api
27  web            Answer web

answer-cli config

answer-cli 스크립트를 실행하면 $HOME/.answer/answer-cli.config 위치에 환경변수가 함께 저장됩니다.

  • ANSWER_DB_PORT

  • ANSWER_DB_USER

  • ANSWER_DB_PASSWORD

  • ANSWER_S3_PORT

  • ANSWER_S3_ID

  • ANSWER_S3_PW

  • ANSWER_CORE_NODE

  • ANSWER_CORE_BIND

  • ANSWER_CORE_PORT

  • ANSWER_CORE_VERBOSE

  • ANSWER_CORE_SYNC

  • ANSWER_API_PORT

  • ANSWER_API_DB_URL

  • ANSWER_API_S3_URL

  • ANSWER_API_CORE_URL

  • ANSWER_WEB_HOST

  • ANSWER_WEB_PORT

  • ENABLE_GPU

  • GPUS

  • ENABLE_HOST_NETWORK

  • DOCKER_LOGS_TAIL_NUMBER

경고

특별한 이유가 없다면 위의 값들은 변경하지 않는 것이 좋습니다.

default.json example

$HOME/.answer/core.storage/node/default.json 위치에 다음 내용을 저장해야 합니다.

 1{
 2  "logger": {
 3    "name": "default.logger",
 4    "sink": "console",
 5    "arguments": "stdout",
 6    "generator": "default_color",
 7    "line_feed": "auto",
 8    "severity": "notice",
 9    "auto_flush": true,
10    "thread": true
11  },
12  "socket": {
13    "recv_timeout": "4sec",
14    "send_timeout": "1sec",
15    "recv_number_of_messages": 16,
16    "send_number_of_messages": 16,
17    "recv_buffer_byte": "32m",
18    "send_buffer_byte": "32m",
19    "reconnect_time_min": 10,
20    "reconnect_time_max": 10
21  },
22  "inits": [
23    {
24      "type": "git",
25      "arguments": "https://github.com/bogonets/answer-lambda-cv2",
26      "branch": "master",
27      "auto_update": true,
28      "destination": "${STORAGE_PYTHON}/answer-lambda-cv2"
29    },
30    {
31      "type": "git",
32      "arguments": "https://github.com/bogonets/answer-lambda-numpy",
33      "branch": "master",
34      "auto_update": true,
35      "destination": "${STORAGE_PYTHON}/answer-lambda-numpy"
36    },
37    {
38      "type": "git",
39      "arguments": "https://github.com/bogonets/answer-lambda-preview",
40      "branch": "master",
41      "auto_update": true,
42      "destination": "${STORAGE_PYTHON}/answer-lambda-preview"
43    },
44    {
45      "type": "git",
46      "arguments": "https://github.com/bogonets/answer-lambda-rtc",
47      "branch": "master",
48      "auto_update": true,
49      "destination": "${STORAGE_PYTHON}/answer-lambda-rtc"
50    }
51  ],
52  "immutable": true
53}

엔서 이미지 다운로드

다음과 같이 실행 하면 됩니다.

1answer-cli pull

특정 모듈만 다운로드 받고 싶다면 다음과 같이 모듈명을 추가하면 됩니다.

1answer-cli pull core

엔서 실행

다음과 같이 실행 하면 됩니다. 이 때 《엔서》는 서비스로 실행됩니다.

1answer-cli run

마찬가지로, 특정 모듈만 실행하고 싶다면 모듈명을 추가하면 됩니다.

1answer-cli run core

엔서 중지

이미 작동중인 서비스가 존재할 때 《엔서》를 중지시키고 싶다면 다음과 같이 실행하면 됩니다.

1answer-cli stop

정지된 서비스를 재기동 시키고 싶다면 다음과 같이 실행하면 됩니다.

1answer-cli start

위의 stop 명령과 start 명령을 한 번에 실행하고 싶다면 다음과 같이 실행하면 됩니다.

1answer-cli restart

엔서 제거

엔서의 설정파일 및 컨테이너를 제거하고 싶다면 다음과 같이 실행하면 됩니다.

1answer-cli rm

경고

이렇게 제거할 경우 이미 저장된 설정 정보가 유실됩니다.

엔서 로그 확인

엔서의 로그 메시지를 확인하고 싶다면 다음과 같이 실행하면 됩니다.

1answer-cli logs core

참고

logs 명령은 all 모듈명을 읽지 못합니다. core, api, web 중 하나를 사용해 주세요.

엔서 이미지 확인

현재 다운받은 엔서 이미지를 확인하고 싶다면 다음과 같이 실행하면 됩니다.

1answer-cli images

서비스 기동 상태 확인

엔서를 실행했다면 다음의 명령으로 상태정보를 확인할 수 있습니다.

1answer-cli ps