The project had English and Simplified Chinese. These two follow the same structure - same sections, same code blocks, same contributor list - so a reader in any of the four sees the same document. The Traditional Chinese is a translation rather than a character conversion of the Simplified: the terminology differs (設定檔, 資料庫, 選單, 程式碼產生, 排程任務, 相依套件), and a converted file would read as machine output to anyone who actually uses it. Language navigation across all four is unified in the same commit, since a link to a file that does not exist yet would be worse than no link.
20 KiB
go-admin
Gin + Vue + Element UI / Arco Design / Ant Design による、フロントエンドとバックエンドを分離した権限管理システムです。初期化は非常に簡単で、設定ファイルのデータベース接続情報を変更するだけで動作します。複数のコマンドに対応しており、マイグレーションコマンドでデータベースの初期化が容易になり、サーバーコマンドで API を手軽に起動できます。
🎬 オンラインデモ
Element Plus vue3 デモ:https://vue.go-admin.pro
⚠️⚠️⚠️ アカウント / パスワード: admin / 123456
antd デモ(go-admin-pro):https://antd.go-admin.pro
⚠️⚠️⚠️ アカウント / パスワード: admin / 123456
✨ 特徴
-
RESTful API の設計規約に準拠
-
GIN WEB API フレームワークをベースに、豊富なミドルウェアを提供(ユーザー認証、CORS、アクセスログ、トレース ID など)
-
Casbin による RBAC アクセス制御モデル
-
JWT 認証
-
Swagger ドキュメントに対応(swaggo ベース)
-
GORM によるデータベース永続化、複数種類のデータベースに拡張可能
-
設定ファイルからモデルへの単純なマッピングで、必要な設定をすぐに取得
-
コード生成ツール
-
フォームビルダー
-
マルチコマンド方式
-
マルチテナント対応
-
TODO: ユニットテスト
🎁 標準機能
- マルチテナント:デフォルトで対応。データベース単位で分離し、1 データベースにつき 1 テナント。
- ユーザー管理:システムの操作者であるユーザーの設定を行います。
- 部門管理:組織構造(会社・部門・グループ)を設定します。ツリー構造で表示し、データ権限に対応します。
- 役職管理:ユーザーが担当する職務を設定します。
- メニュー管理:メニュー、操作権限、ボタン権限識別子、API 権限などを設定します。
- ロール管理:ロールへのメニュー権限の割り当て、および組織単位でのデータ範囲権限の設定を行います。
- 辞書管理:システム内で頻繁に使う固定的なデータを管理します。
- パラメータ管理:よく使うパラメータを動的に設定します。
- 操作ログ:正常系の操作ログと異常情報のログを記録・検索します。
- ログインログ:ログイン履歴を記録・検索します。ログイン異常も含みます。
- API ドキュメント:業務コードから API ドキュメントを自動生成します。
- コード生成:テーブル定義から CRUD 業務を生成します。すべて画面上で操作でき、基本的な業務をコードなしで実現できます。
- フォームビルダー:ページのスタイルをカスタマイズし、ドラッグ&ドロップでレイアウトを作成します。
- サービス監視:サーバーの基本情報を確認します。
- コンテンツ管理:デモ機能。カテゴリ管理とコンテンツ管理を含み、入門用の参考実装として利用できます。
- スケジュールタスク:自動実行タスク。現在は API 呼び出しと関数呼び出しに対応しています。
事前準備
ローカルに [go] [gin] node と git をインストールしてください。
ダウンロードから使いこなすまでを解説した動画とドキュメントのチュートリアルを用意しています。本プロジェクトを試す前に、まずこれらに目を通すことを強くおすすめします。
go-admin で最初のアプリケーションを作る - ドキュメント
動画チュートリアル
v1.1.0 のコード生成ツール [応用]
go-admin のメニュー設定 [必見]
メニュー情報と API 情報の設定方法 [必見]
go-admin の権限設定 [必見]
go-admin のデータ権限 [必見]
不明点はまず上記のドキュメントと記事をご確認ください。解決しない場合は issue や pr をお寄せください。動画とドキュメントは継続的に更新しています
📦 ローカル開発
動作要件
go 1.26.5
node バージョン: v22 以上(v24 LTS 推奨)
パッケージマネージャー: pnpm v9 以上(UI プロジェクトは pnpm を使用)
開発ディレクトリの作成
# 開発ディレクトリを作成
mkdir goadmin
cd goadmin
コードの取得
重要:2 つのプロジェクトは同じディレクトリに配置してください。
# バックエンドのコードを取得
git clone https://github.com/go-admin-team/go-admin.git
# フロントエンドのコードを取得
git clone https://github.com/go-admin-team/go-admin-ui.git
起動方法
サーバーの起動
# go-admin バックエンドプロジェクトへ移動
cd ./go-admin
# 依存関係を整理
go mod tidy
# ビルド
go build
# 設定を変更
# ファイルパス go-admin/config/settings.yml
vi ./config/settings.yml
# 1. 設定ファイル内のデータベース情報を変更
# 注意: settings.database 配下の設定項目
# 2. log のパスを確認
⚠️注意 Windows 環境で CGO が未導入の場合、次のエラーが発生します。
E:\go-admin>go build
# github.com/mattn/go-sqlite3
cgo: exec /missing-cc: exec: "/missing-cc": file does not exist
or
D:\Code\go-admin>go build
# github.com/mattn/go-sqlite3
cgo: exec gcc: exec: "gcc": executable file not found in %PATH%
データベースの初期化とサービス起動
# 初回はデータベースのリソース情報を初期化する必要があります
# macOS または linux の場合
$ ./go-admin migrate -c config/settings.dev.yml
# ⚠️注意: windows の場合
$ go-admin.exe migrate -c config/settings.dev.yml
# プロジェクトを起動します。IDE からデバッグ実行することもできます
# macOS または linux の場合
$ ./go-admin server -c config/settings.yml
# ⚠️注意: windows の場合
$ go-admin.exe server -c config/settings.yml
sys_api テーブルへのデータ追加方法
起動時に -a true を付けると、不足している API データが自動的に追加されます。
./go-admin server -c config/settings.yml -a true
docker でのビルドと起動
# イメージをビルド
docker build -t go-admin .
# コンテナを起動します。1 つ目の go-admin はコンテナ名、2 つ目はイメージ名です
# -v は設定ファイルのマウント ローカルパス:コンテナ内パス
docker run --name go-admin -p 8000:8000 -v /config/settings.yml:/config/settings.yml -d go-admin-server
ドキュメント生成
go generate
クロスコンパイル
# windows
env GOOS=windows GOARCH=amd64 go build main.go
# or
# linux
env GOOS=linux GOARCH=amd64 go build main.go
UI 側の起動方法
# pnpm をインストール(未導入の場合)
npm install -g pnpm
# 依存関係をインストール
pnpm install
# 中国本土のネットワークではミラーを指定すると高速化できます
pnpm install --registry=https://registry.npmmirror.com
# 開発サーバーを起動
pnpm dev
📨 コミュニティ
![]() |
![]() |
![]() |
wenjianzhang |
| 微信 | 公众号🔥🔥🔥 | ![]() |
哔哩哔哩🔥🔥🔥 |
💎 コントリビューター
JetBrains のオープンソースライセンス支援
go-admin は一貫して JetBrains 社の GoLand 統合開発環境で開発されています。free JetBrains Open Source license(s) による正規の無償ライセンス提供に、この場を借りて感謝を申し上げます。
🤝 謝辞
- ant-design
- ant-design-pro
- arco-design
- arco-design-pro
- gin
- casbin
- spf13/viper
- gorm
- gin-swagger
- golang-jwt
- vue-element-admin
- ruoyi-vue
- form-generator
🤟 支援
このプロジェクトがお役に立ちましたら、作者にジュースを一杯おごる形で応援いただけます 🍹
🤝 関連リンク
🔑 License
Copyright (c) 2026 wenjianzhang




