Caddy를 사용하여 Hetzner Cloud 서버에 Discourse와 N8N 설치

디스코urs 가족 여러분께,

아주 특별한 방식으로 시작하게 된 것 같습니다. Hetzner에서 서버를 운영하다가 디스코urs를 발견했고, 서버를 cax11에서 cax21 64x(4코어, 8GB)로 업그레이드한 후 디스코urs를 사용하려고 계획하고 있었습니다. 공식 튜토리얼을 따라 Caddy와 함께 N8N을 설치했으며, 모든 과정은 순조롭게 진행되었습니다.

하지만 디스코urs를 설치하려고 시도했을 때 몇 가지 문제가 발생했습니다. 어제부터 해결책을 검색해 왔지만, 여전히 실행하는 데 실패하고 있습니다.

Caddy에 관한 이 스레드에서 unix:/sock/nginx.http.sock 또는 port method를 사용하도록 제안했지만, 저에게는 두 옵션 모두 작동하지 않았습니다.

최근 설정은 다음과 같습니다:

standalone 파일을 복사하여 /git/discourse/containers/app.yml에서 다음과 같이 편집했습니다.

templates:
  - templates/postgres.template.yml
  - templates/redis.template.yml
  - templates/web.template.yml
  - templates/web.ratelimited.template.yml
  - templates/web.socketed.template.yml
expose: null
params:
  db_default_text_search_config: pg_catalog.english
env:
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8
  LANGUAGE: en_US.UTF-8
  DISCOURSE_HOSTNAME: for******net
  DISCOURSE_DEVELOPER_EMAILS: ad*******net
  DISCOURSE_SMTP_ADDRESS: smtp-relay.sendinblue.com
  DISCOURSE_SMTP_USER_NAME: ad*******ee
  DISCOURSE_SMTP_PASSWORD: x*****************z8GTVA
volumes:
  - volume:
      host: /git/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /git/discourse/shared/standalone/log/git-log
      guest: /git/log
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
run:
  - exec: echo "Beginning of custom commands"
  - exec: echo "End of custom commands"

그리고 /root/n8n-docker-caddy/caddy_config/Caddyfile의 경우:

n8n.example.net {
    reverse_proxy n8n-docker-caddy-n8n-1:5678 {
        flush_interval -1
    }
}

forum.example.net {
    reverse_proxy unix//git/discourse/shared/standalone/nginx.http.sock
    import cloudflare
}

그리고 /root/n8n-docker-caddy/docker-compose.yml의 경우:

---
version: "3.7"
services:
  caddy:
    image: caddy:latest
    restart: unless-stopped
    ports:
      - 80:80
      - 443:443
    volumes:
      - ${DATA_FOLDER}/caddy_data:/data
      - ${DATA_FOLDER}/caddy_config:/config
      - ${DATA_FOLDER}/caddy_config/Caddyfile:/etc/caddy/Caddyfile
  n8n:
    image: n8nio/n8n
    restart: always
    ports:
      - 5678:5678
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER
      - N8N_BASIC_AUTH_PASSWORD
      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
    volumes:
      - ${DATA_FOLDER}/local_files:/files
      - ${DATA_FOLDER}/.n8n:/home/node/.n8n
  discourse:
    image: local_discourse/app
    restart: always
    ports:
      - 3001:80
    volumes:
      - /git/discourse/shared:/shared
volumes:
  caddy_data:
    external: true
  caddy_config: null

Docker PS 상태:

“제 문제를 알아봐 주시는 분이 없다면, 서버 전체를 삭제하고 처음부터 다시 설치하는 것을 고려하고 있습니다. 저는 단순히 n8n과 Docker가 모두 제대로 작동하는지 확인하고 싶습니다. 이 문제를 해결하는 데 도움이 될 문서를 알고 계신다면 알려주시면 감사하겠습니다.”

Caddy Discourse 사이트에도 동일한 도움말 요청을 게시했습니다: Installing Discourse With Caddy (Docker Compose) (hetzner Cloud) - Help - Caddy Community. 해결책을 찾으면 여기에서 업데이트를 게시하겠습니다.