catch-img

IT資産管理|オープンソース資産管理ソフトウェア「Snipe-IT」を導入してみよう

1. はじめに:そのIT資産、Excelでの管理で消耗していませんか?

IT資産管理シリーズ3回目です。

前回(IT資産管理|実は緊密なシステム監視とIT資産管理の関係性

前々回(IT資産管理|情シス担当者が知っておくべき基本の「キ」

「IT資産管理って重要だなぁ」と感じていただけましたでしょうか?地味な仕事ながら企業や組織におけるシステムの利用をよりスムーズに行うためにはとても重要な業務なのです。

さて、その重要性はわかっていても、いざ管理するとなると、「あの予備のノートPC、今どこにあるんだっけ?」 「新入社員用のPC、ライセンスの余りはあったかな?」 「リース切れのPC、どれだっけ…?」といった現実に直面します。情報システム部門や総務部門の担当者なら、一度はこんな悩みに直面したことがあるのではないでしょうか。

多くの企業、特にIT資産管理に専任の担当者を置くことが難しい中小企業では、Excelやスプレッドシートを使った台帳管理が主流です。手軽に始められる反面、以下のような限界もすぐにやってきます。

  • 更新漏れと情報の陳腐化
    • 貸出や返却のたびに手動で更新する必要があり、忙しいとつい後回しに。
    • 気づいた時には情報が古くなっている。
  • 属人化
    • 特定の人しか最新版のファイルを知らない、または管理方法がその人独自のものになっている。
  • 同時編集の難しさ
    • 複数人で同時に更新しようとすると、ファイルがロックされたり、変更が競合したりする。
  • 履歴追跡の困難
    • 「このPC、過去に誰が使ってた?」を遡るのが難しい。

こうした「Excel管理の限界」から脱却し、管理業務を劇的に効率化してくれるのがIT資産管理システムです。
しかし、高機能な専用ツールは導入コストがネックになりがちです。そこで本記事では、無料(オープンソース)でありながら、有料ツールに引けを取らない高機能なIT資産管理ソフトウェア「Snipe-IT」をご紹介します。
この記事を読めば、Snipe-ITの魅力と、初心者でも簡単な「Docker」を使った導入手順がわかります。

「脱・Excel管理」の第一歩を踏み出してみましょう!

2. Snipe-ITで何ができる? 主な機能とメリット

Snipe-ITは、Webベースで動作するIT資産管理(ITAM)システムです。オープンソースであるためライセンス費用は無料(※サーバーの運用費は除く)で、世界中の多くの企業や教育機関で利用されています。

具体的にできることを見ていきましょう。

  • 資産管理
    • PC、スマートフォン、タブレットはもちろん、モニターやキーボードなどの周辺機器、
    • ソフトウェアライセンス、さらには消耗品(トナー、マウスなど)まで、
    • あらゆる「資産」を登録し、一元管理できます。
  • 貸出・返却(チェックイン/チェックアウト)
    • これがSnipe-ITの核となる機能です。
    • 「どの資産を」「誰に」「いつから」貸し出しているかを明確に追跡します。
    • 返却予定日も設定でき、返却処理(チェックイン)も簡単です。
  • ステータス管理
    • 資産の状態のステータスを管理
    • 「在庫(Ready to Deploy)」「使用中(Deployed)」「修理中」「紛失」「廃棄済み」といったステータス。
    • 資産のライフサイクル全体を可視化します。
  • 棚卸機能
    • 定期的に行う資産の棚卸(現物確認)をサポートする機能があります。
    • 監査対応もスムーズになります。
  • レポート機能
    • 「現在Aさんが保有している資産一覧」「廃棄予定の資産リスト」「ライセンスの使用状況」など
    • 必要な情報をすぐにレポートとして出力できます。
  • QRコード/バーコード対応
    • 資産にラベルを貼り、スマートフォンアプリでスキャンして簡単に管理画面を呼び出すことも可能です。

なぜSnipe-ITなのか? 最大のメリットは、これだけの機能が無料で使えることです。

また、Webベースなので、ブラウザさえあればどこからでもアクセスでき、情報システム部門と総務部門など、複数部署での共同管理にも適しています。

3. 導入準備:Snipe-ITを動かす環境

Snipe-ITを動かすには、一般的に以下の環境(いわゆるLAMP/LEMPスタック)が必要です。

  • Webサーバー(Apache や Nginx)
  • PHP
  • データベース(MySQL や MariaDB)

これらを手動でサーバーにインストールしていく方法もありますが、各ソフトウェアのバージョン互換性を確認したり、設定ファイルを編集したりと、専門知識が必要で手間がかかります。

今回はコレ!:初心者にもおすすめな「Docker」

そこで今回は、導入のハードルを劇的に下げてくれる「Docker」を使います。

Dockerは、必要な環境(OS、ミドルウェア、アプリケーション)を「コンテナ」という箱にひとまとめにして動かす技術です。Snipe-IT公式からもDockerイメージが提供されており、これを使えば面倒な環境構築をすべてすっ飛ばして、短時間でSnipe-ITを起動できます。

4. ハンズオン! DockerでSnipe-ITを導入する手順

それでは、実際にDockerを使ってSnipe-ITを導入してみましょう。 (※前提として、お使いのPCやサーバーに Docker および Docker Compose がインストールされているものとします。)


ステップ1:作業用ディレクトリの作成
まず、Snipe-ITの設定ファイルを置くための適当なディレクトリ(フォルダ)を作成し、そこに移動します。

Bash


mkdir snipe-it
cd snipe-it

ステップ2:docker-compose.yml の準備

docker-compose.yml というファイルに、「Snipe-IT本体」と「データベース(今回はMySQL)」のコンテナをどう起動するかを定義します。以下の内容で docker-compose.yml ファイルを作成してください。

YAML


version: '3'
services:
  snipe-it:
    image: snipe/snipe-it:v6.4.0 # (バージョンは適宜最新のものを確認してください)
    container_name: snipe-it
    env_file: .env # 環境変数は別ファイル(.env)で管理
    ports:
      - "8080:80" # ホストOSの8080番ポートをコンテナの80番ポートに接続
    volumes:
      - snipeit_data:/var/lib/snipeit
    depends_on:
      - mysql

  mysql:
    image: mysql:8.0
    container_name: snipe-mysql
    env_file: .env # Snipe-ITと同じ.envファイルを参照
    volumes:
      - mysql_data:/var/lib/mysql
    environment:
      # .envファイルで設定する変数
      - MYSQL_DATABASE=${DB_DATABASE}
      - MYSQL_USER=${DB_USERNAME}
      - MYSQL_PASSWORD=${DB_PASSWORD}
      - MYSQL_ROOT_PASSWORD=${DB_PASSWORD} # 簡単のためDB_PASSWORDと同じにしています

volumes:
  snipeit_data:
  mysql_data:

ステップ3:環境変数(.env)の設定
次に、データベースのパスワードやアプリケーションの設定など、重要な情報を記述する .env ファイルを作成します。docker-compose.yml と同じディレクトリに作成してください。

Ini, TOML


# --------------------------------------------
# .env ファイルの例
# --------------------------------------------

# --- Snipe-IT アプリケーション設定 ---
# このURLでSnipe-ITにアクセスします。
# 例: http://localhost:8080 や http://your-server-ip:8080
APP_URL=http://localhost:8080

# --- データベース接続設定 ---
# docker-compose.ymlの 'mysql' サービスコンテナに接続します
DB_HOST=mysql
DB_DATABASE=snipeitdb
DB_USERNAME=snipeituser
DB_PASSWORD=your_strong_password # ★必ず強固なパスワードに変更してください

# --- メール設定 (後で設定可能) ---
# とりあえず動かすだけなら、このままでOK
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDR=null
MAIL_FROM_NAME=null

# --- アプリケーションキー (最重要) ---
# この値はステップ4で生成します。今は空でOKです。
APP_KEY=

ステップ4:APP_KEY の生成とコンテナの起動

.env ファイルの中で、APP_KEY はSnipe-ITが暗号化などに使用する非常に重要なキーです。これは専用のコマンドで生成する必要があります。

1. APP_KEY の生成 以下のコマンドを実行します。

Bash

docker-compose run --rm snipe-it php artisan key:generate --show

base64:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= のような文字列が表示されるので、base64: から始まる文字列全体をコピーします。

2. .env ファイルの更新

先ほど作成した .env ファイルを開き、APP_KEY= の行に、コピーしたキーを貼り付けます。


Ini, TOML

# (前略)
# --- アプリケーションキー (最重要) ---
APP_KEY=base64:AbC1dE2fG...(ここに生成されたキーを貼り付け)...=

3. Dockerコンテナの起動

キーを保存したら、いよいよコンテナを起動します!

Bash


docker-compose up -d

(-d はバックグラウンドで起動するオプションです)
初回はイメージのダウンロードなどで少し時間がかかります。

ステップ5:初期セットアップウィザードの実行

コンテナの起動が完了したら、Webブラウザを開き、.env ファイルで設定した APP_URL (例: http://localhost:8080) にアクセスします。

  • 1. Pre-Flight Check 
    • 「Snipe-IT Pre-Flight Check」という画面が表示されます。環境要件がすべて満たされているか(緑色のチェックマークが付いているか)を確認し、「Next: Create Database Tables」ボタンを押します。
  • 2. Create Database Tables 
    • 「Create Database Tables」というボタンが表示されるので、クリックします。(データベースにテーブルが作成されます)
  • 3. Create User 管理者アカウントを作成します
    • Site Name: (例)自社のサイト名
    • Username: (例)admin
    • Email: あなたのメールアドレス
    • Password: 管理者用のパスワード

すべて入力したら、「Next: Save User」をクリックします。

これで導入完了です! ログイン画面が表示されるので、今作成した管理者アカウントでログインしてください。

 

 Snipe-ITログイン画面

ログイン画面(ロゴもなくかなりシンプルです)

 

 

5. まずは使ってみよう! Snipe-ITの基本操作

ログインすると、ダッシュボードが表示されます。最初はデータが何もないので殺風景ですが、以下の流れで基本的な情報を登録してみましょう。

※ログイン後のダッシュボード画面(デフォルト)


1. (推奨)日本語化

まずは画面右上の歯車アイコン(Settings)から「Localization」を選択し、「Language」を Japanese に変更して保存すると、インターフェースが日本語になります。

Snipe-IT_言語設定

 ※ローカライズ設定画面

 

2. 初期設定(カテゴリ、ロケーション)

カテゴリ: 資産の種類を登録します。(例:「ノートPC」「モニター」「ソフトウェア」)
ロケーション(拠点): 資産が保管・使用される場所を登録します。(例:「本社」「大阪支社」「リモートワーク」)

 カテゴリ  

        カテゴリ設定画面              ロケーション設定画面

 

 3. 資産(アセット)の登録

・資産モデルの登録

いきなり資産を登録する前に、まず「アセット(資産)モデル」を登録します。(例:「Dell PowerEdge R750」「HP ProBook 450 G10」など)

 資産モデル設定画面

 ※資産モデルの設定画面

・資産(アセット)の登録

次に、「アセット」(個々の資産)を登録します。

  • 「アセットタグ」:資産管理番号(例: PC-001)
  • 「シリアル」:PCのシリアル番号
  • 「モデル」:先ほど登録したアセットモデルを選択
  • 「ステータス」:「在庫 (Ready to Deploy)」を選択

 資産登録画面

 ※資産(アセット)の新規登録画面

 

4. ユーザーへの貸出(チェックアウト)

・従業員(人物)の登録
「ユーザー(人物)」メニューから、従業員(ユーザー)を登録します。

※ユーザー(人物)の新規登録画面

・チェックアウト

登録したアセットの画面を開き、「チェックアウト」ボタンを押します。
貸し出すユーザーを選択し、日付を指定して実行します。

 チェックアウト画面

 ※チェックアウト設定画面

 

5. ダッシュボードの確認

ダッシュボードに戻ると、「総アセット数」や「貸出中」のグラフが更新されているはずです。 これで、「PC-001は、Aさんに貸出中である」という状態がシステムで管理できました!

 ダッシュボード画面

 ※赤枠のところが資産の登録とチェックアウトの実施履歴が表示されている。

 

6. まとめ:オープンソースで始める「脱・Excel資産管理」

お疲れ様でした! Dockerを使えば、思ったよりも簡単に高機能なIT資産管理システム「Snipe-IT」を導入できたのではないでしょうか(まぁ前提知識は結構必要なのですが。。)Excel台帳を開いて「Ctrl+F」で検索し、手動でセルの色を変えていた日々はもう終わりです。

Snipe-ITを導入することで、

  • 誰が何をいつから使っているかがリアルタイムでわかる
  • 棚卸や監査の準備が劇的に楽になる
  • ソフトウェアライセンスの過不足が可視化される

といったメリットが得られ、管理工数を大幅に削減できるはずです。

本格的に運用する際は、Dockerボリュームの定期的なバックアップ設定を忘れないようにしましょう。また、自社独自の管理項目(例:「リース終了日」「保守契約先」など)が必要な場合は、「カスタムフィールド」機能で自由に追加することも可能です。

まずはテスト環境でいくつかの資産を登録し、その便利さを体験してみてください。「脱・Excel資産管理」の第一歩として、Snipe-ITは非常に強力な選択肢となるはずです。

関連サービス

IT戦略・システム企画サポート
運用コンサルティングサービス
社内情報システム運用・保守サポート
システム運用代行サービス

森 勝
森 勝
ITインフラを支えるシステム基盤の設計・構築から、その後の実践的な運用まで一貫して手掛ける。現場の実情に即したアプローチで情報システム部門の再生も成功に導いてきた。国家資格「情報処理安全確保支援士」、「Zabbix認定スペシャリスト」として、セキュリティとシステム監視の両面に精通している。

メルマガ登録

人気記事ランキング

タグ一覧