在同一云服务器上使用 Caddy 安装 Discourse 和 N8N (Hetzner Cloud)

Discourse 大家庭,

也许这是一种不寻常的方式,但我运行了一个 Hetzner 服务器,发现了 Discourse,我计划在将服务器从 cax11 升级到 cax21 64x(4 核,8GB)后使用它。我使用了官方教程安装了 N8N 和 Caddy,一切都很顺利。

但是,在尝试安装 Discourse 时,我遇到了一些问题。尽管我从昨天开始搜索解决方案,但一直未能成功运行。

我偶然发现了这个关于 Caddy 的帖子,他们建议使用 unix:/sock/nginx.http.sock 或“端口方法”,但两种方法对我都不起作用。

这是我最后的设置:

我复制了独立文件,并在 /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 站点上提出了相同的帮助请求:https://caddy.community/t/installing-discourse-with-caddy-docker-compose-hetzner-cloud/20174。一旦找到解决方案,我将在此处发布更新。

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.