You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Docker/PM2/systemd 각 실행 방식별 cloudflared 연동 방법 및 집 IP 노출 없이 지인 공유하는 방식을 독립 섹션(7번)으로 정리 (초안/미확정)
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
3.[OS Native 버전](#3-os-native-버전) - Linux 서버 운영자용 (Systemd)
13
13
4.[Native (CLI) 버전](#4-native-cli-버전) - Docker 미사용 환경 (PM2)
14
14
5.[기타 플랫폼](#5-기타-플랫폼) - Railway 등
15
15
6.[공통 설정](#6-공통-설정) - 환경 변수, 리버스 프록시
16
+
7.[[초안/미확정] Cloudflare Tunnel — 홈서버 외부 공개](#7-초안미확정-cloudflare-tunnel--홈서버-외부-공개) - 집 IP 노출 없이 지인 공유
16
17
17
18
---
18
19
@@ -252,4 +253,130 @@ server {
252
253
253
254
```bash
254
255
sudo certbot --nginx -d your-domain.com
255
-
```
256
+
```
257
+
258
+
---
259
+
260
+
## 7. [초안/미확정] Cloudflare Tunnel — 홈서버 외부 공개
261
+
262
+
> **⚠️ 초안/미확정:** 아이디어 검토 단계이며, 정식 기능으로 확정되지 않았습니다.
263
+
264
+
### 개요
265
+
266
+
Fieldstack은 어떤 방식(Docker, PM2, systemd)으로 실행하든 기본적으로 **로컬(집 내부 네트워크)에서만 접근 가능**합니다.
267
+
268
+
지인에게 공유하거나 외부에서 접근하고 싶을 경우, 가장 단순한 방법은 집 IP를 직접 알려주는 것이지만 **보안상 바람직하지 않습니다.** Cloudflare Tunnel(`cloudflared`)을 사용하면 집 IP를 노출하지 않고도 `fieldstack.내도메인.com` 형태로 안전하게 외부 공개가 가능합니다.
269
+
270
+
> **주의:** 이 섹션은 [2. Cloudflare 버전](#2-cloudflare-버전)(Cloudflare 클라우드 배포)과 **전혀 다른 개념**입니다.
271
+
> -**2번 Cloudflare 버전**: Fieldstack 자체를 Cloudflare 클라우드(Pages + Workers + D1)에 올려서 운영하는 방식
272
+
> -**이 섹션(7번)**: Fieldstack은 집/로컬 서버에서 그대로 실행하되, Tunnel을 통해 외부 접근 통로만 안전하게 여는 방식
273
+
274
+
| 구분 | IP 직접 공유 | Cloudflare Tunnel |
275
+
|------|------------|-------------------|
276
+
| 공유 주소 |`집IP:3000`|`fieldstack.내도메인.com`|
277
+
| 집 IP 노출 | ✅ 노출됨 | ❌ 완전 숨김 |
278
+
| 포트포워딩 | 필요 | 불필요 |
279
+
| 고정 IP | 필요 | 불필요 |
280
+
| SSL/HTTPS | 직접 설정 | 자동 무료 |
281
+
| 유동 IP 대응 | DDNS 필요 | 자동 처리 |
282
+
283
+
---
284
+
285
+
### 실행 방식별 적용 방법
286
+
287
+
#### Docker로 실행 중인 경우
288
+
289
+
`docker-compose.yml`에 `cloudflared` 서비스 하나만 추가하면 됩니다.
290
+
291
+
```yaml
292
+
version: '3.8'
293
+
294
+
services:
295
+
app:
296
+
image: fieldstack/core:latest
297
+
ports:
298
+
- "3000:3000"
299
+
volumes:
300
+
- ./data:/app/data
301
+
- ./modules:/app/modules
302
+
environment:
303
+
- NODE_ENV=production
304
+
- SERVE_FRONTEND=true
305
+
restart: unless-stopped
306
+
307
+
cloudflared:
308
+
image: cloudflare/cloudflared:latest
309
+
command: tunnel --no-autoupdate run --token ${CLOUDFLARE_TUNNEL_TOKEN}
0 commit comments