Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ jobs:
- name: Assemble site (install.sh only)
run: |
mkdir -p _site
cp install.sh _site/install.sh
cp install.sh _site/i # 正規の短縮パス (https://dl.basex.jp/i)
cp install.sh _site/install.sh # 後方互換エイリアス
echo 'dl.basex.jp' > _site/CNAME
cat > _site/index.html <<'HTML'
<!doctype html>
Expand All @@ -46,7 +47,7 @@ jobs:
<body style="font-family:system-ui;max-width:42rem;margin:3rem auto;padding:0 1rem">
<h1>devbase installer</h1>
<p>ワンライナーインストール:</p>
<pre><code>curl -fsSL https://dl.basex.jp/install.sh | bash</code></pre>
<pre><code>curl -fsSL https://dl.basex.jp/i | bash</code></pre>
<p>ソース: <a href="https://github.com/devbasex/devbase">github.com/devbasex/devbase</a></p>
</body>
</html>
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
__pycache__/
.venv/
.env
.env.bak
.env.backup
.gemini/
.docker-compose.scale.yml
Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

### Added
- **ワンライナー installer (`install.sh`) を新設**しました (PLAN31_1)。
`curl -fsSL https://dl.basex.jp/install.sh | bash`
`curl -fsSL https://dl.basex.jp/i | bash`
で `~/devbase` への clone(既存なら `git pull --ff-only`)と `devbase init` まで
自動完了します(uv の自動導入・PATH/補完の登録・`plugins.yml` 生成を含む)。
- 配置先 / clone 元 / ref を `DEVBASE_INSTALL_DIR` / `DEVBASE_INSTALL_REPO` /
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ devbaseは、Docker Composeを使った再現性の高い開発環境を提供
### ワンライナーインストール(推奨)

```bash
curl -fsSL https://dl.basex.jp/install.sh | bash
curl -fsSL https://dl.basex.jp/i | bash
```

`~/devbase` に clone(既存なら更新)し、`devbase init` まで自動実行します(uv の自動導入・PATH/補完の登録・`plugins.yml` 生成を含む)。**新しく開くターミナルでは自動で有効**です。
Expand All @@ -41,13 +41,13 @@ curl -fsSL https://dl.basex.jp/install.sh | bash
```bash
# 例: 別ディレクトリへ特定タグを入れる(パイプではなく保存実行でも env は同様に効きます)
DEVBASE_INSTALL_DIR=~/work/devbase DEVBASE_INSTALL_REF=v1.2.3 \
bash -c "$(curl -fsSL https://dl.basex.jp/install.sh)"
bash -c "$(curl -fsSL https://dl.basex.jp/i)"
```

> **⚠ `curl | bash` を実行する前に**: 中身を確認したい場合は、いったん保存してから実行してください。
>
> ```bash
> curl -fsSL https://dl.basex.jp/install.sh -o install.sh
> curl -fsSL https://dl.basex.jp/i -o install.sh
> less install.sh # 内容を確認
> bash install.sh
> ```
Expand Down
17 changes: 10 additions & 7 deletions docs/developer/installer-hosting.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
- `curl -fsSL <URL> | bash` で実行する静的ファイル `install.sh` を、安定した
短い HTTPS URL で配信する。
- 配信 URL を `https://raw.githubusercontent.com/devbasex/devbase/main/install.sh`
(約 73 文字)から `https://dl.basex.jp/install.sh`(約 33 文字)へ短縮する。
(約 73 文字)から `https://dl.basex.jp/i`(約 21 文字)へ短縮する。
後方互換のため `https://dl.basex.jp/install.sh` も同一内容のエイリアスとして配信する。
- スコープ外: installer 自体の挙動(`issues/PLAN31_1_devbase-installer.md` 参照)。

## 2. 決定事項
Expand All @@ -18,7 +19,7 @@
|---|---|
| ホスティング | **GitHub Pages**(devbasex/devbase リポジトリ) |
| カスタムドメイン | **`dl.basex.jp`** |
| 配信 URL | **`https://dl.basex.jp/install.sh`** |
| 配信 URL | **`https://dl.basex.jp/i`** |
| ドメインレジストラ | お名前.com(basex.jp) |
| DNS | お名前.com DNS(`01〜04.dnsv.jp`)に `dl` の CNAME |
| 月額コスト | **$0**(GitHub Pages 無料枠) |
Expand All @@ -39,7 +40,7 @@ installer 程度のトラフィックでは GitHub Pages の無料枠で十分

```mermaid
flowchart LR
U["ユーザー<br/>curl -fsSL https://dl.basex.jp/install.sh | bash"]
U["ユーザー<br/>curl -fsSL https://dl.basex.jp/i | bash"]
R[".jp レジストリ"]
O["お名前.com DNS<br/>01〜04.dnsv.jp"]
GP["GitHub Pages<br/>185.199.108-111.153"]
Expand Down Expand Up @@ -78,6 +79,8 @@ flowchart LR
正本(single source of truth)であり、Pages 用に複製しない。
- 成果物に `CNAME`(内容 `dl.basex.jp`)を含め、custom domain を固定する。
- ルート(`/`)には簡単な案内 HTML を置く(任意)。
- 配信パスは `/i` を正規とし、後方互換のため `/install.sh` も同一内容で配信する
(ワークフローで `install.sh` を `_site/i` と `_site/install.sh` の両方へコピー)。

### 5.2 配信ワークフロー(`.github/workflows/pages.yml`)

Expand All @@ -87,7 +90,7 @@ flowchart TD
B --> C["_site/ 組み立て<br/>install.sh / CNAME / index.html"]
C --> D["upload-pages-artifact"]
D --> E["deploy-pages"]
E --> F["https://dl.basex.jp/install.sh 更新"]
E --> F["https://dl.basex.jp/i 更新"]
```

要点:
Expand Down Expand Up @@ -143,10 +146,10 @@ curl -fsS 'https://dns.google/resolve?name=dl.basex.jp&type=CNAME'

# 配信: install.sh が 200 で取得でき、HTTPS 証明書が一致するか
curl -fsSL -o /dev/null -w 'HTTP %{http_code} ssl_verify=%{ssl_verify_result}\n' \
https://dl.basex.jp/install.sh
https://dl.basex.jp/i

# 中身の先頭確認
curl -fsSL https://dl.basex.jp/install.sh | head -20
curl -fsSL https://dl.basex.jp/i | head -20
```

- DNS 成功時は `Status:0` で `data` が `devbasex.github.io.`。
Expand All @@ -172,7 +175,7 @@ curl -fsSL https://dl.basex.jp/install.sh | head -20

- DNS(`dl.basex.jp` CNAME): **完了**(GitHub Pages IP に解決・確認済み)。
- GitHub Pages 有効化 / custom domain / Enforce HTTPS: **完了**。
`https://dl.basex.jp/install.sh` が HTTP 200・証明書一致・`http→https` 301 を確認済み。
`https://dl.basex.jp/i` が HTTP 200・証明書一致・`http→https` 301 を確認済み。
- URL 更新(README / docs / install.sh): **完了**(#49)。配信内容の sha256 が
`main:install.sh` と一致することを確認済み。
- ドメイン検証 TXT(§4・乗っ取り防止): **未**(推奨)。GitHub の Verify domains で
Expand Down
4 changes: 2 additions & 2 deletions docs/user/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ devbase を利用するには、以下のソフトウェアがホストマシン
手順 1〜2(クローンと初期化)を 1 コマンドで自動化できます。`git` と `curl` があれば実行できます。

```bash
curl -fsSL https://dl.basex.jp/install.sh | bash
curl -fsSL https://dl.basex.jp/i | bash
```

このコマンドは次を行います。
Expand All @@ -48,7 +48,7 @@ curl -fsSL https://dl.basex.jp/install.sh | bash
> **⚠ `curl | bash` を実行する前に**: 信頼できないスクリプトをそのままパイプ実行するのが不安な場合は、保存して内容を確認してから実行してください。
>
> ```bash
> curl -fsSL https://dl.basex.jp/install.sh -o install.sh
> curl -fsSL https://dl.basex.jp/i -o install.sh
> less install.sh # 内容を確認
> bash install.sh
> ```
Expand Down
2 changes: 1 addition & 1 deletion install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#
# devbase ワンライナー installer (PLAN31_1)
#
# curl -fsSL https://dl.basex.jp/install.sh | bash
# curl -fsSL https://dl.basex.jp/i | bash
#
# clone (または pull) して `bin/devbase init` を 1 回呼ぶだけの薄い導入スクリプト。
# uv の自動導入・rc 追記・補完登録・plugins.yml 生成・冪等性・旧版移行はすべて
Expand Down
Loading