homupe

ファイルを置くだけでWebサイトが公開できる、シンプルなホスティングサービス。

Googleで始める ダッシュボード

特徴

クイックスタート

1

Googleでログイン

上の「Googleで始める」からアカウントを作成し、ダッシュボードでクレデンシャルをコピー。

2

デスクトップアプリで接続

Electronアプリを起動し、クレデンシャルを貼り付けて接続。~/homupe フォルダの監視が自動で始まります。

3

ファイルを置くだけ

# 静的サイト
~/homupe/mysite/index.html

# JSXサイト(ono で自動ビルド)
~/homupe/mysite/pages/index.jsx
4

公開!

https://mysite-you.homupe.dev でアクセスできます。

デスクトップクライアント

Electronアプリが ~/homupe フォルダを監視し、変更を自動で同期します。

JSX静的ビルド(ono連携)

サイトフォルダ内に pages/ ディレクトリを作り .jsx ファイルを置くと、ono で自動ビルドされ静的HTMLとしてアップロードされます。

プロジェクト構造

~/homupe/mysite/
├── pages/
│   ├── index.jsx     → index.html として公開
│   └── about.jsx     → about.html として公開
├── components/       → 再利用可能コンポーネント
├── public/           → 静的ファイル(そのままコピー)
└── uno.config.js     → UnoCSS設定(任意)

書き方

// pages/index.jsx
export default function Page() {
  return (
    <html>
      <head>
        <title>My Site</title>
        <link rel="stylesheet" href="/uno.css" />
      </head>
      <body>
        <h1 class="text-3xl font-bold">Hello!</h1>
      </body>
    </html>
  );
}
デスクトップクライアントが pages/ を検出すると ono build を自動実行し、dist/ の中身をアップロードします。UnoCSS も自動生成されます。

.homupeignore

プロジェクトルートに置くと、マッチするファイルが非公開に。CLIでのアップロードとサーバー配信の両方で適用されます。

*.env
secrets/
_draft/
*.bak

対応パターン: *(ワイルドカード)、**(再帰)、末尾 /(ディレクトリ)。

APIリファレンス

認証が必要なエンドポイントは Authorization: Bearer <token> ヘッダーを付けてください。

認証

メソッドパス説明
GET/auth/googleGoogleログイン(OAuth開始)
GET/auth/meログインユーザー情報
GET/auth/tokensトークン一覧
DELETE/auth/tokens/:idトークン削除

サイト

メソッドパス説明
GET/sitesサイト一覧
POST/sitesサイト作成
DELETE/sites/:nameサイト削除

ファイル

メソッドパス説明
GET/files/:siteファイル一覧(?type=published|source)
GET/files/:site/download/<path>ファイルダウンロード
PUT/files/:site/<path>ファイルアップロード(?type=published|source)
DELETE/files/:site/<path>ファイル削除
username は小文字英数字のみ(ハイフン不可)。サイト name は小文字英数字とハイフン。

URL構成

URL内容
homupe.devこのページ
api.homupe.devAPI
{user}.homupe.devユーザーのサイト一覧
{site}-{user}.homupe.devサイト本体

技術スタック