Docker로 HeadlessCMS를 시작하는 "Strapi"가속화

Strapi API의 권한 주위가 이해하기 어렵고 공식 Docker 이미지로 Strapi를 구축하는 정보가 많지 않기 때문에 이 글을 썼습니다.
https://hub.docker.com/r/strapi/strapi

이른바 HeadlessCMS


이는 글을 쓰고 저장하는 백엔드 기능만 갖추고 글의 정면 기능을 보여주지 않은 CMS를 말한다.
API 또는 GraphiQL을 사용하여 기사를 전면에 표시합니다.
장점은 프런트 기술은 뭘 써도 되기 때문에 자유도가 높다는 것이다.

Docker로 Strapi 시작


다음은 Docker를 통해 Strapi를 시작하는 설정에 대한 설명입니다.

docker-compose 설정


먼저 docker compose 설정부터 시작합니다.
$ mkdir strapi
$ cd strapi
$ vi docker-compose.yml
version: '3'
services:
  strapi:
    image: strapi/strapi
    environment:
      DATABASE_CLIENT: mysql
      DATABASE_HOST: mysql
      DATABASE_PORT: 3306
      DATABASE_NAME: strapi
      DATABASE_USERNAME: strapi
      DATABASE_PASSWORD: strapi
      DATABASE_SSL: 'false'
    volumes:
      - ./app:/srv/app
    ports:
      - '1337:1337'
    depends_on:
      - mysql
    tty: true

  mysql:
    image: mysql
    command: mysqld --default-authentication-plugin=mysql_native_password
    volumes:
      - ./data:/var/lib/mysql
    ports:
    - '3306:3306'
    environment:
      MYSQL_ROOT_PASSWORD: strapi
      MYSQL_DATABASE: strapi
      MYSQL_USER: strapi
      MYSQL_PASSWORD: strapi
    cap_add:
      - SYS_NICE
이상 도커의 준비가 끝났습니다.

Docker로 Strapi 시작


다음은 Docker를 사용하여 Strapi를 시작합니다.
$ docker-compose up
이렇게 시동을 걸면 완성됩니다.
주의점은 아래 장소에서 10~15분 정도 머무른다.
뒷면에서 진행되니까 끝내지 말고 기다리세요.
strapi_1  | Starting your app...

Strapi 시작


다음 내용이 표시되면 Strapi의 시작이 끝납니다.
strapi_1  | Welcome back!
strapi_1  | To manage your project 🚀, go to the administration panel at:
strapi_1  | http://localhost:1337/admin
strapi_1  |
strapi_1  | To access the server ⚡️, go to:
strapi_1  | http://localhost:1337

Strapi에서 글 만들기


다음은 Strapi의 기사가 작성되기 전에 사용한 방법에 대해 설명합니다.

계정 만들기


우선 방문http://localhost:1337/admin.
다음은 계정 생성 화면입니다. 정보를 입력하세요.
image.png
비밀번호에 대문자가 없으면 계정을 만들 수 없습니다.

Strapi에 글 만들기 준비


Strapi에 글을 쓸 준비를 하세요.

1. 왼쪽 사이드바의 Content-Types Builder 선택


image.png

2. Create new collection type 선택


image.png

3. 이름을 입력하고 "계속"을 눌러라


image.png

4. 타이틀 설정


Text를 선택합니다.
image.png
Name Title을 입력하고 Add another field를 누릅니다.
image.png

5. 이전과 같은 요령에 따라 Rich Text를 선택하고 Name에 Text를 입력하고 "끝" 을 누르십시오


6. 오른쪽 위 모서리의 저장을 누릅니다.


image.png
서버가 다시 시작됩니다. 터미널에서 아래와 같이 페이지를 다시 불러오십시오.
strapi_1  | Welcome back!
strapi_1  | To manage your project 🚀, go to the administration panel at:
strapi_1  | http://localhost:1337/admin
strapi_1  |
strapi_1  | To access the server ⚡️, go to:
strapi_1  | http://localhost:1337

글을 쓰다


우리 기사를 쓰자.

1. 사이드바에서 만든 Articles 선택


image.png

2. 누르면 Articles 추가


image.png

3. 기사 쓰기


다음과 같은 기사를 쓸 수 있습니다.
image.png Title 방금 추가된 Text 필드입니다.Text는 Rich Text 필드입니다.
Rich Text 필드는 태그로 작성할 수 있습니다.
또 다른 날짜 등 필드가 있으니 필요하면 사용하세요.

4. 저장하고 공개


공개되면 API를 통해 글을 보낼 수 있다.

Strapi API 사용 방법


다음은 Strapi에서 API를 사용하는 방법에 대한 설명입니다.
기본적으로 API로 전화를 걸어도 다음 권한으로 인해 끊기기 때문에 설정이 필요하다.
GET http://localhost:1337/articles
image.png

권한 설정 방법


사이드바 설정 > 역할 및 권한 > Public 순서로 선택합니다.
image.png
다음과 같이 API에서 사용할 권한을 선택합니다.
image.png
이번에는 기사findfindone만 훑어보고 싶기 때문에 이 두 내용을 점검해야 한다.
오른쪽 상단의 Save를 선택하고 끝을 설정합니다.

API 두드리기


아까 API를 치면 잘 돌아올 거예요.
GET http://localhost:1337/articles
image.png
기사에 대한 자세한 내용은 아래와 같이 API를 두드리면 답장도 한다.
GET http://localhost:1337/articles/1
image.png

Strapi에 대한 요약


다음은 Strapi의 Docker에서 시작하는 방법과 글의 제작 방법, API의 설정 방법에 대해 소개한다.
문장을 쉽게 만들 수 있어서 편리해요. 한번 해 보세요.
이상한 점이나 궁금한 점이 있으면 꼭 메시지를 남겨주세요.

참고 자료


https://strapi.io/documentation/developer-docs/latest/installation/docker.html#step-1-create-a-docker-compose-yaml-file

좋은 웹페이지 즐겨찾기