タグ: Fly.io

  • Fly.ioでNode.jsアプリを無料デプロイ:Heroku代替の本命

    Herokuの無料プランが廃止されて以降、個人開発者のデプロイ先として注目を集めているFly.io。東京リージョンがあり、日本からのレイテンシも低い。Node.jsアプリのデプロイ手順を実際のプロジェクトを例に解説します。

    Fly.ioの特徴

    • 東京リージョン(nrt)あり
    • Dockerベースでデプロイ
    • 無料枠: 3つのshared-cpu-1x VM、160GB転送量/月
    • PostgreSQL、Redis、S3互換ストレージも提供
    • 自動HTTPS対応

    セットアップ

    # Fly CLIインストール
    curl -L https://fly.io/install.sh | sh
    
    # ログイン
    fly auth login
    
    # プロジェクト作成
    cd my-node-app
    fly launch

    Dockerfile の準備

    FROM node:20-alpine
    WORKDIR /app
    COPY package*.json ./
    RUN npm ci --omit=dev
    COPY src/ ./src/
    EXPOSE 3000
    CMD ["node", "src/index.js"]

    fly.tomlの設定

    app = "my-awesome-app"
    primary_region = "nrt"  # 東京リージョン
    
    [build]
    
    [http_service]
      internal_port = 3000
      force_https = true
      auto_stop_machines = "stop"
      auto_start_machines = true
      min_machines_running = 0
    
    [env]
      NODE_ENV = "production"

    シークレット管理

    # 環境変数(シークレット)の設定
    fly secrets set DATABASE_URL="postgresql://..."
    fly secrets set API_KEY="sk-..."
    
    # 設定済みシークレット一覧
    fly secrets list

    デプロイ

    # デプロイ実行
    fly deploy
    
    # ログ確認
    fly logs
    
    # ステータス確認
    fly status
    
    # ブラウザで開く
    fly open

    カスタムドメイン設定

    # カスタムドメイン追加
    fly certs create example.com
    
    # DNS設定を確認
    fly certs show example.com

    まとめ

    Fly.ioは「flyctl deploy」一発でDockerアプリをデプロイできる手軽さと、東京リージョンの低レイテンシが魅力です。個人プロジェクトからスタートアップまで、幅広い用途で活用できます。

IP: 取得中...
216.73.216.31216.73.216.31