Amerta.io のVPS インストール・使い方ガイド
「Shopifyは高い。でも自前でECサイトを構築するのは難しい」。そう感じている個人事業主やエンジニアは多いはずです。
Amerta.ioは、Shopifyの代替として使えるオープンソースのECプラットフォームです。自分のVPSにホスティングできるため、月額費用ゼロで本格的なEC運用が可能になります。
Next.jsとPayloadCMSをベースに構築されています。プロダクション環境での利用を想定した設計です。
最新アップデートではモジュール型プラグインシステムが追加されました。第一弾プラグインとして、商品カタログをGoogle Merchant Centerへ直接同期する機能が公開されています。
- AmertaをVPSにDockerでインストールする手順
- カート・在庫・チェックアウト機能の基本的な使い方
- Google Merchant Centerと連携するプラグインの設定方法
Amerta.io とは?オープンソースのShopify代替ツール
Amerta.ioは、Shopifyの代替として使える無料のオープンソースECプラットフォームです。自分のVPSにセルフホストできるため、月額費用がかかりません。
技術スタックはNext.jsとPayloadCMSの組み合わせです。フロントエンドのパフォーマンスと、柔軟なコンテンツ管理を両立しています。
プロダクション対応済みの主要機能
Amerta.ioは「試作段階」ではありません。すでに本番環境での利用を想定した設計です。
- チェックアウトフロー:決済処理の中核部分が安定稼働
- カート管理:商品の追加・削除・数量変更が完成済み
- 在庫管理:在庫数の追跡と欠品制御に対応
公式サイトにはDocker構成ファイルと環境変数の設定ガイドが用意されています。手順通りに進めれば、VPS上に本番環境を構築できます。
データ所有権という最大のメリット
Shopifyを使う場合、顧客データはShopifyのサーバーに保存されます。利用規約の変更や障害の影響を受けるリスクがあります。
Amerta.ioはテレメトリーゼロの設計です。外部へのデータ送信スクリプトが一切含まれていません。
- 顧客の氏名・住所・購買履歴はすべて自分のVPS内に保存
- 第三者のサーバーへのデータ送信なし
- プラットフォーム側の規約変更に左右されない
個人情報保護の観点でも、自社管理のほうが説明責任を果たしやすくなります。
モジュール型プラグインシステムで機能を拡張
最新バージョンではプラグインアーキテクチャが実装されました。コア機能を肥大化させずに拡張できる設計です。
第一弾プラグインとして公開されたのがGoogle Merchant Center同期プラグインです。ローカルの商品カタログをGoogle Merchant Centerへ直接連携できます。
- 商品名・価格・在庫状況を自動同期
- Googleショッピング広告への商品掲載が可能
- プラグインの追加はコアコードを変更せずに実施できる
プラグイン機構を採用することで、アップデート時の破壊的変更リスクを最小化しています。独自機能を追加したい場合も、プラグインとして切り出すことで管理がしやすくなります。
VPS自営が向いているケース
- Shopifyの月額費用($39〜$399)を削減したい
- 顧客データを自社サーバーで完全管理したい
- Next.js/PayloadCMSの技術スタックに慣れているエンジニア
- Dockerを使った環境構築ができる
月額コストをVPSのサーバー代のみに抑えられるのは、個人事業主にとって大きなメリットです。
Amerta.io 導入に必要な環境・スペック
Amerta.ioをVPSで運用するには、事前に技術要件を把握しておくことが重要です。適切なスペックを選ぶことで、本番環境でも安定した稼働が期待できます。
推奨VPSのスペック目安
Amerta.ioはNext.js+PayloadCMSで構築されています。Node.jsアプリケーションとCMSを同一サーバーで動かすため、一定のリソースが必要です。
- CPU:2コア以上(vCPU 2が最低ライン)
- メモリ:2GB以上(余裕を持つなら4GB推奨)
- ストレージ:SSD 20GB以上(商品画像が増える場合は40GB以上)
- 帯域幅:月間1TB以上のプランが安心
コスト重視であれば、Hetzner CloudのCX22(月額約700円)が選択肢に入ります。国内ならさくらのVPSやConoHa VPSの2GBプランも対応可能です。
推奨OS
公式ドキュメントではUbuntu 22.04 LTSが前提とされています。パッケージの安定性とDockerとの相性が良く、情報も豊富です。
- Ubuntu 22.04 LTS(推奨)
- Debian 12(動作確認済みの報告あり)
- CentOS系は非推奨(Dockerの挙動差異が生じる場合あり)
Docker環境の構築手順
Amerta.ioはDockerによるデプロイを公式にサポートしています。まずDockerとDocker Composeをインストールします。
sudo apt update && sudo apt install -y docker.io docker-compose-pluginsudo systemctl enable docker && sudo systemctl start docker
次に、公式リポジトリをクローンして環境変数ファイルを作成します。
git clone https://github.com/amerta-io/amerta.gitcd amerta && cp .env.example .env
.envファイルには最低限以下の変数を設定します。
- DATABASE_URL:PostgreSQL接続文字列
- PAYLOAD_SECRET:セッション暗号化用のランダム文字列
- NEXT_PUBLIC_SERVER_URL:公開URLを指定(例:https://shop.example.com)
設定完了後はdocker compose up -dを実行します。コンテナが正常起動すればセットアップ完了です。
VPS選定で確認すべきポイント
- スナップショット機能の有無(アップデート前のバックアップ用)
- オブジェクトストレージとの連携可否(商品画像の外部保存に利用)
- 日本リージョンの提供有無(国内ユーザー向けの表示速度に影響)
- IPv6対応(将来的な通信コスト削減に有効)
ゼロテレメトリー設計のため、外部への通信制限が厳しい環境でも導入しやすいのが利点です。まずはHetznerの最小プランで動作確認してから、スケールアップを検討するのが現実的なアプローチです。
Docker を使った Amerta.io のインストール手順
Amerta.io は公式ドキュメントに Docker デプロイガイドが用意されています。手順通りに進めれば、VPS 初心者でも本番環境を構築できます。
以下のステップで順番に作業を進めてください。
-
Docker と Docker Compose をインストールする
コンテナ実行環境を整えます。Ubuntu 系 VPS では以下のコマンドを実行してください。
sudo apt update && sudo apt install -y docker.io docker-compose-pluginインストール後、
docker --versionでバージョンを確認します。 -
リポジトリをクローンする
公式リポジトリから最新のソースコードを取得します。
git clone https://github.com/amerta-io/amerta.git && cd amerta -
環境変数ファイルを作成する
サンプルファイルをコピーして、自分の環境に合わせた設定を行います。
cp .env.example .env編集が必要な主な変数は以下のとおりです。
NEXT_PUBLIC_SERVER_URL:VPS の公開ドメインまたは IP アドレスを指定PAYLOAD_SECRET:セッション署名用のランダム文字列(32文字以上推奨)DATABASE_URI:MongoDB の接続文字列(例:mongodb://mongo:27017/amerta)NEXT_PUBLIC_SITE_NAME:ショップ名を自由に設定
-
Docker Compose でコンテナを起動する
設定が完了したら、以下のコマンドでバックグラウンド起動します。
docker compose up -dNext.js フロントエンドと PayloadCMS バックエンド、MongoDB がまとめて起動します。
-
起動状態を確認する
全コンテナが正常に動いているかをチェックします。
docker compose psすべての STATUS が
Upになっていれば成功です。 -
管理画面にアクセスして初期設定を行う
ブラウザで
http://<あなたのVPS-IP>:3000/adminを開きます。初回アクセス時に管理者アカウントの作成を求められます。メールアドレスとパスワードを設定してください。
本番運用では、Nginx をリバースプロキシとして追加し、Let’s Encrypt で HTTPS 化することを強く推奨します。
設定例として、Nginx の proxy_pass http://localhost:3000; を基本構成にするとスムーズです。
次のセクションでは、Amerta のプラグインシステムを使ったGoogle Merchant Center との連携方法を解説します。

初期設定と基本的な使い方
Amerta.io のデプロイが完了したら、次は管理画面の初期設定を進めましょう。順番通りに操作することで、ストアを最短で公開できます。
-
管理画面へアクセスする
ブラウザで
https://あなたのドメイン/adminを開きます。初回アクセス時に管理者アカウントの作成画面が表示されます。メールアドレスとパスワードを設定してください。このアカウントがストア全体の最上位権限を持ちます。
-
環境変数でストア基本情報を設定する
Amerta はストア名や通貨などを
.envファイルで管理します。VPS 上のプロジェクトルートにある.envを開いてください。以下の項目を編集します。
STORE_NAME:ストア名を入力STORE_CURRENCY:通貨コード(例:JPY)NEXT_PUBLIC_SERVER_URL:公開ドメインのURL
編集後は
docker compose restartを実行して設定を反映させます。 -
商品を登録する
管理画面の左メニューから 「Products」 を選択します。「Add Product」ボタンをクリックして登録画面を開きます。
商品名・価格・在庫数・画像を入力して保存します。在庫管理フローは標準で安定稼働しており、追加設定は不要です。
-
決済方法を設定する
管理画面の 「Settings → Payment」 から決済プロバイダーを選択します。Amerta はモジュール型の設計のため、必要な決済手段だけを追加できます。
Stripe を利用する場合は
.envに以下を追記します。STRIPE_SECRET_KEY:Stripe ダッシュボードで取得した秘密鍵STRIPE_WEBHOOK_SECRET:Webhook 署名シークレット
追記後、再度
docker compose restartを実行してください。 -
カート・チェックアウト動作を確認する
設定後は必ずテスト購入を行います。商品をカートに入れ、チェックアウト画面まで進んでください。
Stripe のテストモードキーを使えば、実際の課金なしに一連の流れを確認できます。
これらの初期設定が完了すれば、ストアの基本機能はすべて利用可能な状態になります。次のステップでは、Google Merchant Center 連携などのプラグイン拡張を活用する方法を解説します。
プラグインシステムを活用した機能拡張
Amerta の強みのひとつが、モジュラープラグインアーキテクチャです。コアに不要な機能を詰め込まず、必要な拡張だけを追加できる設計になっています。
モジュラープラグインアーキテクチャの仕組み
Amerta のプラグインシステムは、コアとプラグインを明確に分離しています。コアの肥大化を防ぎながら、機能を柔軟に追加できます。
プラグインの主な特徴は以下のとおりです。
- プラグインごとに独立したモジュールとして管理される
- コアのソースコードを変更せずに機能を追加できる
- 不要なプラグインを無効化してもコアには影響しない
- 環境変数ベースで有効・無効を切り替えられる
Google Merchant Center 連携プラグインの導入
現在リリースされている最初のプロダクションプラグインが、Google Merchant Center 連携プラグインです。ローカルの商品カタログを Google Merchant Center へ直接同期できます。
導入手順は以下のとおりです。
-
プラグインをインストールする
プロジェクトルートで以下のコマンドを実行します。
npm install @amerta/plugin-google-merchant -
環境変数を設定する
.envファイルに以下の変数を追記します。GOOGLE_MERCHANT_ID:Merchant Center のアカウント IDGOOGLE_SERVICE_ACCOUNT_KEY:サービスアカウントの JSON キーパスENABLE_GOOGLE_MERCHANT_PLUGIN=true:プラグインの有効化フラグ
-
プラグインを登録する
payload.config.tsの plugins 配列に以下を追加します。googleMerchantPlugin({ autoSync: true, syncInterval: '0 2 * * *' }) -
コンテナを再起動して同期を確認する
docker compose restartを実行します。管理画面の 「Plugins → Google Merchant」 から同期ステータスを確認できます。
カスタムプラグインの開発方法
独自のプラグインも作成できます。公式のプラグインテンプレートをベースにすると開発が効率的です。
基本的な構成は以下のとおりです。
index.ts:プラグインのエントリーポイントhooks/:Payload CMS のコレクションフックを格納するディレクトリcollections/:追加するコレクション定義を格納するディレクトリ
プラグインは Plugin 型の関数として実装します。payload.config.ts の plugins 配列に追加するだけで有効化されます。
プラグインシステムを活用することで、コアを安定させたままストアの機能を段階的に拡張できます。必要な機能だけを選んで追加できる点が、Amerta を長期運用するうえでの大きなメリットです。
Amerta.io 運用時のトラブルシューティング
本番環境で Amerta を運用していると、いくつかの問題に直面することがあります。ここではよくあるエラーと対処法をまとめます。
よくあるエラーと解決策
-
コンテナが起動しない(Exit Code 1)
.envの環境変数が不足しているケースが多いです。PAYLOAD_SECRETやDATABASE_URIが正しく設定されているか確認してください。 -
決済フローでエラーが発生する
Stripe などの API キーの記述ミスが原因になりやすいです。
.envの値を再確認し、コンテナを再起動してください。 -
画像がアップロードできない
ストレージのパーミッションが原因です。
chmod 755 ./mediaを実行してディレクトリの権限を修正してください。 -
管理画面にログインできない
PAYLOAD_SECRETが変更されるとセッションが無効になります。値を元に戻すか、再ログインしてください。
ログの確認方法
問題が発生した際は、まずコンテナのログを確認します。以下のコマンドで確認できます。
- 全ログを表示:
docker compose logs - リアルタイムで監視:
docker compose logs -f - 特定サービスのみ:
docker compose logs app
エラー箇所を素早く特定したい場合は、docker compose logs | grep ERROR でフィルタリングするのが効果的です。
アップデート時の注意点
Amerta をアップデートする際は、必ず事前にバックアップを取得してください。手順は以下のとおりです。
- データベースとメディアファイルをバックアップする(後述)
git pull origin mainで最新コードを取得するdocker compose build --no-cacheでイメージを再ビルドするdocker compose up -dでコンテナを再起動する
プラグインを導入している場合は、アップデート後に互換性を確認してください。管理画面の 「Plugins」 タブでステータスを確認できます。
データバックアップ方法
データの保全はセルフホスト運用の最重要事項です。以下の2点を定期的にバックアップしてください。
-
データベースのバックアップ(MongoDB の場合)
docker exec amerta-mongo mongodump --out /backupを実行します。出力先のディレクトリはホスト側にマウントしておくと安全です。 -
メディアファイルのバックアップ
cp -r ./media ./media_backup_$(date +%Y%m%d)で日付付きのバックアップを作成できます。
cron を使って毎日深夜に自動バックアップを実行する運用がおすすめです。0 3 * * * /path/to/backup.sh のように設定してください。

Amerta.io で実現できる自営ECの価値と次のステップ
ここまでVPSへのセットアップ手順を解説してきました。最後に、Amerta.io を選ぶ意味と、導入判断の材料をまとめます。
顧客データを完全に自分で保有できる
Shopifyのようなクラウド型SaaSは、顧客データが事業者のサーバーに保存されます。Amerta.io はゼロテレメトリーを明言しており、外部へのデータ送信スクリプトは一切含まれません。
すべてのデータは自分のVPS上に残ります。GDPRや個人情報保護法への対応も、自分のサーバーで完結できます。
Amerta.io が持つ3つの技術的優位性
- カスタマイズの自由度:Next.js/PayloadCMS ベースのため、フロントもバックも自由に改修できる
- プラグイン拡張性:コアに手を入れずモジュール単位で機能追加できるアーキテクチャを採用
- スケーラビリティ:Dockerデプロイに対応しており、負荷に応じてコンテナを横展開できる
最初のプロダクションプラグインとして、Google Merchant Center 同期プラグインがリリース済みです。商品カタログをそのままGoogleショッピングに連携できます。
月額コストの比較イメージ
- Shopify Basic:約3,600円/月+決済手数料2%
- Amerta.io on ConoHa VPS:約880円/月〜(ソフトウェアは無料)
- 商品数・注文数が増えても従量課金は発生しない
トラフィックが増えてもプラン変更だけで対応できます。手数料で収益が削られる構造から脱却できる点は大きなメリットです。
導入に向いているケース・向かないケース
- ✅ Linuxの基本操作(
docker compose up -d程度)ができる - ✅ 顧客データを自社管理したい
- ✅ デザインや決済フローを独自仕様にしたい
- ❌ サーバー管理を完全に外部委託したい
- ❌ ノーコードだけで運用を完結させたい
次のステップ:まず動かしてみる
公式サイト(amerta.io)にはDockerデプロイガイドと環境変数の設定例が揃っています。まず手元のVPSで docker compose up を実行し、管理画面を触ってみることをおすすめします。
プラグインの追加も npm install @amerta/plugin-google-merchant のような形で行えます。コアのコードを変更せず機能を拡張できるため、アップデート追従も容易です。
自営ECの構築コストは、VPS代金のみに抑えられます。月額数百円からスタートして、収益に合わせてスペックを上げるという成長戦略が取れるのが、Amerta.io 最大の強みです。
この記事は「AI自動投稿×SEO検証プロジェクト」の一環です
海外のAI活用・収益化事例を毎日自動収集し、日本語で深掘り解説しています。
- 完全自動(収集→生成→投稿)
- 毎日定刻に投稿
- Search Consoleデータによる週次改善
▶ 検証ログ(note):進捗を見る
▶ 同じ仕組みを作りたい方:相談する


コメント