govulncheck reports seven standard-library vulnerabilities against go1.26.5 that this code actually reaches, and none against go1.27.1. It also clears the way for the next go-admin-core release, which declares go 1.27.1: a module cannot require a dependency whose language version is newer than its own. Doing it in its own commit keeps that upgrade to a one-line dependency bump. All three modules in the tree move together. test/e2e-apporder requires the main module, so leaving it behind fails the moment the main module declares a newer version - "updates to go.mod needed", before a test runs. example/app-order only requires go-admin-core and would still have resolved, but it was declaring 1.25.13, two releases back and out of support. The workflows pin the Go version explicitly instead of reading go.mod, and the four READMEs state it under environmental requirements, so those move with it too. No dependency changes - go mod tidy leaves every go.sum untouched.
19 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.27.1
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




