self-hosted Ghost Bloggin with MySQL
현재 필자가 사용하고 있는 ghost blog 는 coolify 안에서 구동하고 있다.
잊지 않기 위해 세팅값을 기록으로 남긴다. 궁금한 점은 댓글 혹 이메일로 보내기 바란다.
기본적은 내용은 아래 링크에서 참고한 내용이다. 여기에서 내가 필요한 것만 빼면된다.
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 내용으로도 할 수 있다면 도전해도 좋다.