Docker를 이용한 블로그 플랫폼 Ghost 설치하기

profile
달소

안녕하세요. 달소입니다.


이전에 소개해드린 블로깅 플랫폼 Ghost 를 도커를 이용해서 간단하게 구축해보도록하겠습니다.


구축환경

Ubuntu 20.04 LTS
Docker 최신버전
Docker compose 최신버전


미리 데이터를 보관 할 볼륨매칭용 디렉터리도 생성해놓겠습니다.


mkdir -p /data/ghost/data


컨테이너 생성하기

컨테이너의 경우 Ghost 컨테이너 외에 Mysql 같이 묶여있는 docker-compose.yml을 만들어서 함께 생성하겠습니다.

참고 : https://hub.docker.com/_/ghost

 

vi /data/ghost/docker-compose.yml

 

image.png.jpg

 

여기서 변경할수있는부분은 Ghost 버전과 포트매핑,
db정보, url 주소, 볼륨매칭 주소정도 입맛에 맞게 변경해주시면 되겠습니다.
 

초반 셋팅만 ip로 하고 추후에는 사용하시는 url로 변경하시면 되겠습니다.
ex) https://it-svr.com

version: '3.1'

services:

  ghost:
    image: ghost:4-alpine
    restart: always
    ports:
      - 8080:2368
    environment:
      # see https://ghost.org/docs/config/#configuration-options
      database__client: mysql
      database__connection__host: db
      database__connection__user: root
      database__connection__password: example
      database__connection__database: ghost
      # this url value is just an example, and is likely wrong for your environment!
      url: http://192.168.1.60:8080
      # contrary to the default mentioned in the linked documentation, this image defaults to NODE_ENV=production (so development mode needs to be explicitly specified if desired)
      #NODE_ENV: development
    volumes:
      - /data/ghost/data:/var/lib/ghost/content

  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example

 

작성이 다 되었으면 docker-compose up -d 명령어를 통해 컨테이너를 생성해주세요.

 

image.png.jpg

 

생성이 완료되었으면 웹 브라우저를 통해 ip:8080 으로 접근하면 블로그페이지 샘플이나오고

ip:8080/ghost 로 접근하면 사이트 셋업을 시작합니다.

 

image.png.jpg

 

여기서 주소:포트/ghost로 가면 setup을 시작합니다.

 

image.png.jpg

 

간단하게 사이트명 등록 및 관리자 계정 생성입니다.

 

image.png.jpg

 

처음에 별도이메일 셋팅을하지않으면 메일발송은안됩니다.

 

image.png.jpg

 

대시보드가 상당히 깔끔하군요.

(정품인증은 VM이라..ㅎ)

 

image.png.jpg

 

image.png.jpg

 

 

image.png.jpg

 

 

image.png.jpg

 

 

깔끔하네요 ㅎㅎ

서버포럼 관리자입니다.!

서버포럼은 홈서버로 운영중이며 아래와같은 시스템으로 운영됩니다.

 

메인서버 - Ryzen 5700G / Proxmox 7.2 / Ubuntu / Xpenology / 기타 VM 등등

보조서버 - Intel i9-9900ES(QQC0) / H370M / Proxmox 7.1 / 아직개발용서버로 사용중
백업서버 - 타오나스 A형(?) / DS918+ 6.2.3 / 메인서버 VM 백업용

 

하드웨어,가상화 등등 여러 IT분야에 관심이 두루두루많습니다만 깊게알고있는건 없습니다 하하하

 

 

적용중인 도장이 없습니다.

* 가입일 : 2020-12-24
* 총 게시글 수 : 4675
* 총 댓글 수 : 13098
* 추천받은 게시글 개수 : 1862
* 추천받은 댓글 개수 : 2161
댓글
11
  • bini
    2022.01.07

    좋은 정보 잘 보고 갑니다.

  • Sensui
    2022.01.21

    정리 해주신 대로 구축했고, 외부 도메인을 연결하려고 하는데요 docker-compose.yml에서 내부 도메인 기입시 https://로 할 필요는 없을까요? 현재는 내부 IP를 넣어서 Setting 하긴 했습니다.

  • Sensui
    달소
    작성자
    2022.01.21
    @Sensui 님에게 보내는 답글

    외부도메인을 연결하려면 말씀해주신대로 docker-compose.yml 에서 url만 사용하고계신 url로 변경해주시면 됩니다.

    내용에 추가해야겠네요 ㅎㅎ

  • 달소
    Sensui
    2022.01.22
    @달소 님에게 보내는 답글

    내부 IP로 셋팅한 이후에, 내부 IP - DDNS - 외부도메인 요렇게 연결했습니다. 감사합니다 :)

    → 이렇게 하니 이미지가 깨져서, 다시 셋팅해봐야겠습니다. 

     

    1. 도메인 구매 → 포워딩 요청

    2. yml 수정해서 구매한 도메인으로 셋업

    이렇게 하면 될까요? :) 

     

    정리하면, https://it.svr.com → 요런 도메인은 테스트로 하나 구매해놓고,  Ghost Container와 어떻게 연결할지 잘 모르겠습니다.

    기존 블로그를 Self-hosting Server로 옮겨서 사용하려고 하는 중입니다.

  • Sensui
    달소
    작성자
    2022.01.22
    @Sensui 님에게 보내는 답글

    해당 방법을 이용하신다면

    docker로 npm을 구축하셔서 80/443 인증서를 발급받으시고

    it-svr.com 으로 내부 요청이 왔을때 내부 ip로 리버스프록시를걸어주면됩니다. url은 처음 생성때는 ip로 해주시고 그다음에 https://도메인으로 변경해주시구요.

    ex) npm - 192.168.1.10 이면 포트포워딩은 1.10으로 주고

    1.10으로 왔을때 reverseproxy로 ghost를 바라보게 해주시면 됩니다.

     

  • 달소
    Sensui
    2022.01.22
    @달소 님에게 보내는 답글

    앗 뭔가 들어봤지만, 낯선 용어가 한 가득이군요 :) 포럼 내에서 찾아보면서 공부해봐야겠습니다 ㅎ

     

    - Nginx Proxy Manager를 이용해서 호스트 등록 및 SSL 인증서 발급받기.(NPM)

  • Sensui
    달소
    작성자
    2022.01.22
    @Sensui 님에게 보내는 답글

    네 NPM으로 선처리를 해주고 후처리를 Ghost ip를 넣어서 해주시면되겠습니다!

    처음이 어렵지 그다음부터는 술술되실거에요 ㅎㅎ

  • 달소
    Sensui
    2022.01.22
    @달소 님에게 보내는 답글

    요 두개의 글을 보면 될듯한데 맞을까요 ? :)

    Nginx Proxy Manager를 이용해서 호스트 등록 및 SSL 인증서 발급받기.(NPM)

    Nginx Reverse Proxy를 쉽게 사용하기 위한 Proxy-manager 구축하기.(NPM)

  • Sensui
    달소
    작성자
    2022.01.22
    @Sensui 님에게 보내는 답글

    네 맞습니다!

  • Sensui
    2022.01.27

    혹시 Backup은 어떻게 하실까요? :)

  • Sensui
    달소
    작성자
    2022.01.27
    @Sensui 님에게 보내는 답글

    저는 가상머신이라서 별도의 백업솔루션을 이용해서 백업합니다.

    개인환경이라면 해당 도커의 디렉터리만 주기적으로백업해주셔도됩니다

댓글 쓰기
권한이 없습니다.