> ## Documentation Index
> Fetch the complete documentation index at: https://frp.xdr.ooo/llms.txt
> Use this file to discover all available pages before exploring further.

# 업데이트

> Stable project와 pinned FRP를 identity, CA, registry, port reservation을 보존하며 안전하게 업데이트합니다.

# 업데이트

FRP Auto Deploy는 **Project update**와 **upstream FRP binary update**를 분리합니다.

## 안전한 흐름

```mermaid theme={null}
flowchart TD
    A[Update 필요] --> B[update project --check]
    B --> C{Update 있음?}
    C -->|예| D[필요 시 backup]
    D --> E[update project]
    E --> F[show status + doctor + service test]
    C -->|아니오| G[종료]
```

## Project update

```bash theme={null}
sudo frpctl update project --check
sudo frpctl update project
```

정상 supported update는 다음 상태를 유지하도록 설계되어 있습니다.

* CLIENT ID / management identity
* Project private CA
* FRP token
* Registry
* Service definition
* Persistent public-port reservation

Update는 re-enrollment가 아닙니다.

## Stable vs main

| 채널               | 의미                                    |
| ---------------- | ------------------------------------- |
| **v2.1.2 tag**   | 현재 published stable, field install 기준 |
| **main = 2.1.3** | mutable development channel           |

## FRP Update

```bash theme={null}
sudo frpctl show upstream
sudo frpctl update frp --check
```

`show upstream`은 정보용입니다. 프로젝트는 newest upstream FRP를 자동 채택하지 않고 현재 검증된 **v0.70.1**을 pinned 상태로 유지합니다.

## Update 후

```bash theme={null}
sudo frpctl show version
sudo frpctl show status
sudo frpctl doctor
```

대표 published service 하나 이상을 public endpoint에서 실제 테스트하세요.

<Warning>
  Upstream에 새 FRP가 있다는 이유만으로 `frps`/`frpc` binary를 수동 교체하지 마세요. Pinned/tested 정책은 release safety의 일부입니다.
</Warning>
