【Railway】Ginをデプロイする方法

Railway を使って Golang の Gin API をデプロイする方法を解説します。動的なポート設定と、軽量なマルチステージ Dockerfile を使ったデプロイ手順を説明します。

Share

Railwayはこちら (←このリンクから登録すると20ドル分のクレジットがもらえます)

Ginアプリをデプロイする方法

Golang の Gin API の開発が完了したら、次はいよいよデプロイです。この記事では、Gin API を Docker 化し、Railway にホスティングする手順を解説します。

Gin API の概要

まず、Golang で書かれた基本的な Gin API の実装を見てみましょう。これは “Hello World” を返す単一の GET リクエストを備えています。

package main
 
import (
	"os"
 
	"github.com/gin-gonic/gin"
)
 
func main() {
	// Gin ルーターを初期化
	router := gin.Default()
 
	// GET ルートを定義
	router.GET("/", func(c *gin.Context) {
		c.JSON(200, gin.H{
			"message": "Hello, World!",
		})
	})
 
	// 重要: 動的なポートを設定
	port := os.Getenv("PORT")
	if port == "" {
		port = "8080" // 開発用のデフォルトポート
	}
 
	// ルーターを起動
	router.Run(":" + port)
}

動的なポート設定 (重要)

Railway でのデプロイで非常に重要なのが、動的なポート設定です。開発中は localhost:8080 のようにポートを自分で設定しますが、Railway にデプロイする際は、Railway が提供する PORT 環境変数を利用する必要があります。この環境変数は Railway によって自動的に設定されるため、自分で設定する必要はありません。

// 重要: 動的なポートを設定
port := os.Getenv("PORT")
if port == "" {
    port = "8080" // 開発用のデフォルトポート
}
 
// ルーターを起動
router.Run(":" + port)

Docker化

API を Docker 化すると、Docker をサポートするあらゆる環境でアプリケーションが確実に動作するようになります。以下は、ビルドを軽量に保つためのマルチステージ Dockerfile の例です。

# 最新の Golang ベースイメージを使用
FROM golang:latest AS builder
 
# コンテナ内の作業ディレクトリを設定
WORKDIR /app
 
# 依存関係ファイルをコピー
COPY go.mod go.sum ./
 
# 依存関係をインストール
RUN go mod download
 
# ソースコードをコピー
COPY . .
 
# アプリケーションをビルド
RUN CGO_ENABLED=0 GOOS=linux go build -o main .
 
# 新しいビルドステージを開始
FROM alpine:latest
 
# 証明書をインストール
RUN apk --no-cache add ca-certificates
 
# 作業ディレクトリを設定
WORKDIR /root/
 
# ビルダー段階からバイナリをコピー
COPY --from=builder /app/main .
 
# ポート 8080 を公開
EXPOSE 8080
 
# 実行可能ファイルを実行するコマンド
CMD ["./main"]

デプロイプロセス

API と Dockerfile の準備ができたら、以下の手順で Railway にデプロイします。

  1. プロジェクト(main.goDockerfile を含む)を GitHub リポジトリにアップロードします。
  2. Railway ダッシュボードで、「+ New Project」→「Deploy from Github repo」を選択し、自分のリポジトリを選びます。
  3. Deploy Now」をクリックすると、Railway が数分で API のビルドと起動を行います。
  4. デプロイが「Active」になったら、「Settings」タブの「Networking」セクションにある「Generate Domain」ボタンからドメインを追加できます。

これで、Gin API が Railway 上で稼働します。

Railwayはこちら (←このリンクから登録すると20ドル分のクレジットがもらえます)

Read more

サービス更新履歴

ここでは、LiveQのサービス・製品への変更を全て紹介しております。 このページは大きな変更があった場合に更新されます。 いつごろにどのような機能がリリースされたかが分かります。 2026年6月: 高速化・安定化 * 5月よりサーバーおよびアプリケーションの大型リニューアルに取り組み、6月に読み込み速度の向上や、大規模アクセス時にも安定して高速に動作するように変更をおこないました。 2026年4月: 画像スライド * 新たなスライドの種類として画像スライドを追加しました。 * PowerPoint, PDFファイルを一括インポートし、画像スライドとして追加する機能を追加しました * そのほか多数の細かな変更(操作性などのデザイン改善や、不具合)をおこないました 2026年3月: ワードクラウド、コメントのAIモデレーション(監視) * 新たなスライドの種類としてワードクラウドを追加しました * コメントをAIで自動監視する機能をリリースしました * そのほか細かな改善や不具合の修正をおこないました 2026年2月: 有料プランのデータエクスポート

By 阿部 隼也

チームメンバーを招待する方法

チームメンバーを追加するには、招待する必要があります。 その招待方法を紹介します。 招待可能なチームメンバーの数は、ご利用のプランによって異なるため、事前にご確認ください。 チームページの「新しいチームメンバーを招待」にて、招待するメンバーのメールアドレスを入力し、「招待を送信」をクリックします。 招待された側で招待を承認 次に、招待された側の方によって招待を承認する必要があります。 ※この承認にはLiveQのアカウントが必要となりますので、必ず事前にご登録ください。 下記のような招待メールが届きます。 件名:【LiveQ】チームへの招待が届いています 差出人:[email protected] 既にLiveQに登録済みの方はそのまま「招待を承認して参加する」ボタンをクリックします。 まだLiveQに登録していない方は、登録後、同様に承認ボタンをクリックします。 チームを切り替える 招待を承認すると、チームページに下記のように「チーム切り替え」ができるようになります。 招待したユーザーにもメールが届きます 招待が承認されると、招待したユーザーに

By 阿部 隼也