无公网的内网ubuntu20.04服务器安装discourse - 技术宅银魂 - 科技改变生活 - 万事屋

无公网的内网ubuntu20.04服务器安装discourse

利用cloudflare tunnel搭建,我也来测试玩玩。暂时没时间,用AI写一份教程。

如果你的 Ubuntu 20.04 服务器只能通过 Cloudflare Tunnel 连接外网,那么我们需要对安装步骤做一些调整,主要是在安装 Docker 和拉取 Discourse 镜像时需要使用 Cloudflare Tunnel 来连接外网。

请按照以下步骤进行操作:

1. 安装 Cloudflare Tunnel 并登录:

sudo wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared-linux-amd64.deb
cloudflared tunnel login

2. 创建一个新的隧道并配置域名:

cloudflared tunnel create discourse
cloudflared tunnel route dns discourse xxxx.example.com

将 `xxxx.example.com` 替换为你的实际域名。

3. 创建隧道配置文件 `config.yml`:

url: http://localhost:80
tunnel: discourse
credentials-file: /root/.cloudflared/xxxx.json
ingress:
- hostname: xxxx.example.com
service: http://localhost:80
- service: http_status:404

将 `xxxx.example.com` 替换为你的实际域名,`xxxx.json` 替换为你的实际凭证文件名。

4. 启动 Cloudflare 隧道:

cloudflared tunnel --config config.yml run &

5. 通过 Cloudflare Tunnel 安装 Docker:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
newgrp docker

6. 通过 Cloudflare Tunnel 安装 Docker Compose:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

7. 创建 Discourse 的配置文件夹并进入:

sudo mkdir -p /var/discourse
cd /var/discourse

8. 创建 `app.yml` 文件并填入以下内容:

version: '3'
services:
app:
image: discourse/discourse:latest
ports:
- "80:80"
- "443:443"
volumes:
- /var/discourse/data/shared:/shared
- /var/discourse/data/standalone:/shared/standalone
- /var/discourse/data/log:/var/log
restart: always

9. 创建 Discourse 的数据目录并设置权限:

sudo mkdir -p /var/discourse/data
sudo chown -R 1000:1000 /var/discourse/data

10. 通过 Cloudflare Tunnel 拉取 Discourse 镜像并启动容器:

sudo docker pull discourse/discourse:latest
sudo docker-compose -f app.yml up -d

现在,你的服务器上已经通过 Cloudflare Tunnel 安装并启动了 Discourse。你可以通过你配置的域名来访问 Discourse,流量会通过 Cloudflare Tunnel 加密传输。

这种情况下,由于服务器无法直接访问外网,所以在安装 Docker 和拉取 Discourse 镜像时,我们都通过 Cloudflare Tunnel 来进行,确保安装过程可以顺利完成。

如果有任何问题,欢迎随时告诉我。

万事屋新帖