self-hosted Ghost Bloggin with MySQL

self-hosted Ghost Bloggin with MySQL
Photo by Andrew Neel / Unsplash

현재 필자가 사용하고 있는 ghost blog 는 coolify 안에서 구동하고 있다.
잊지 않기 위해 세팅값을 기록으로 남긴다. 궁금한 점은 댓글 혹 이메일로 보내기 바란다.

기본적은 내용은 아래 링크에서 참고한 내용이다. 여기에서 내가 필요한 것만 빼면된다.

Synology: Install Ghost Blogging Using MySQL as Database
Trustworthy expert guide to your Synology NAS.
version: '3.9'
services:
  ghost-db:
    image: mysql
    container_name: Ghost-DB
    hostname: ghost-db
    security_opt:
      - no-new-privileges:true
    healthcheck:
     test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
    environment:
      - PUID=1026
      - PGID=100
      - TZ=Europe/Bucharest
      - MYSQL_ROOT_PASSWORD=superpassword
      - MYSQL_DATABASE=ghost
      - MYSQL_USER=ghostuser
      - MYSQL_PASSWORD=ghostpass
    volumes:
      - /volume1/docker/ghost/db:/var/lib/mysql:rw
    restart: on-failure:5

  ghost:
    image: ghost:latest
    container_name: Ghost
    healthcheck:
      test: timeout 10s bash -c ':> /dev/tcp/127.0.0.1/2368' || exit 1
      interval: 10s
      timeout: 5s
      retries: 3
      start_period: 90s
    hostname: ghost
    security_opt:
      - no-new-privileges:true
    user: 1026:100 
    environment:
      database__client: mysql
      database__connection__host: ghost-db
      database__connection__user: ghostuser
      database__connection__password: ghostpass
      database__connection__database: ghost
      url: https://ghost.yourname.synology.me
      mail__transport: SMTP
      mail__options__service: SMTP
      mail__from: Your-own-gmail-address
      mail__options__host: smtp.gmail.com
      mail__options__port: 587
      mail__options__auth__user: Your-own-gmail-address
      mail__options__auth__pass: Your-own-app-password
      NODE_ENV: production
    volumes:
      - /volume1/docker/ghost:/var/lib/ghost/content:rw
    ports:
      - 2368:2368
    restart: on-failure:5
    depends_on:
      ghost-db:
        condition: service_healthy

coolify에서 보다 쉽게 ghost 를 작성할 수 있다.

Edit compose File 에서 위에 제공된 compose 파일과 비교해서 없는 부분을 더 ADD 하고 진행하면 된다.

왜?! 이렇게 하는지 궁금한 분이 있겠지? 이유는 coolify에서는 관리가 쉽지만, 그래도 한다면 회원가입? 등에서 에러가 발생해서 한참 고생하게 된다. 결국 조금 어렵지만 위 compose 내용으로도 할 수 있다면 도전해도 좋다.