# 起動設定

> Portal の Startup タブで、サーバーの Docker イメージ、インストールコマンド、起動コマンドを設定する方法。

Portal の **Startup** タブは、サーバーのビルドと起動の方法を制御します。主要な設定は 3 つあります: **Docker イメージ**（ランタイムのバージョン）、**インストールコマンド**（依存関係の設定）、**起動コマンド**（アプリケーションを起動するもの）です。これらを正しく設定することが、サーバーを正しく動かすために不可欠です。

## このページで学べること

- 正しい Docker イメージ（ランタイムのバージョン）の選び方
- インストールコマンドと起動コマンドの違い
- Node.js と Python の一般的な例
- Startup タブを使って対話型のシェルにアクセスする方法

---

## Docker イメージ

Daki は、各サーバーを Docker コンテナの中で実行します。**Docker イメージ** は、そのコンテナ内で利用できるプログラミング言語のバージョンを決めます。

Startup タブには、イメージを選ぶドロップダウンがあります。常に、アプリケーションが必要とするものに合わせてください。

| ランタイム | イメージの例 |
| :--- | :--- |
| Node.js | Node.js 22、Node.js 24、Node.js 26（古いバージョンは EOL と表示） |
| Python | Python 3.11 から Python 3.15（古いバージョンは EOL と表示） |
| Java | Java 17、Java 21 |
| その他 | Rust、C#、Lua など（有料プラン） |

> **注意:** 間違ったランタイムのバージョンを選ぶと、起動に失敗します。プロジェクトが Node.js 22 の機能を必要とする場合は、Node.js 18 を選ばないでください。

Node.js と Python のイメージは **Daki Yolks** です。セキュリティ修正がリリースされるたびに自動的に再ビルドされるので、最新のものを使うにはサーバーを再起動してください。**EOL** と表示されたイメージは、セキュリティアップデートを受けられなくなっています。[Egg と Docker イメージ](https://daki.cc/ja/wiki/guides/eggs-and-images#daki-yolks-security-patched-images) を参照してください。

---

## インストールコマンド

**インストールコマンド** は、サーバーのセットアップまたは再インストール時に 1 回だけ実行されます。依存関係のインストールと環境の準備のために設計されています。

| ランタイム | 一般的なインストールコマンド |
| :--- | :--- |
| Node.js | `npm install` |
| Python | `pip install -r requirements.txt` |

この項目を設定すると、依存関係が自動でインストールされます。プロジェクトに合わせて、このコマンドは自由に変更できます — たとえば別のパッケージマネージャーを使う場合（`yarn install` や `pnpm install` など）。

---

## 起動コマンド

**起動コマンド** は、サーバーが起動するたびに実行されます。アプリケーションを実際に起動するコマンドです。

| アプリケーションの種類 | 起動コマンド |
| :--- | :--- |
| Node.js — 単一のエントリーファイル | `node index.js` |
| Node.js — npm start スクリプト | `npm start` |
| Python — 単一のエントリーファイル | `python main.py` |
| Python — モジュールとして | `python -m mypackage` |

プロジェクトの構成、エントリーポイント、アプリケーションに必要なフラグや引数に合わせて、起動コマンドは自由にカスタマイズできます。

**重要:** ファイル名は大文字と小文字を区別します。起動コマンドのファイル名が、ファイルマネージャーに表示されるものと正確に一致していることを確認してください。

---

## 対話型シェルへのアクセス

コンテナと直接やり取りして、コマンドを手動で実行したい場合（たとえばデバッグ、ファイルの確認、一度限りのコマンドの実行など）は、**起動コマンド** を一時的に `bash` に設定できます。

1. **Startup** タブを開きます。
2. **起動コマンド** を `bash` に変更します。
3. サーバーを再起動します。
4. **Console** タブを開きます — これで、シェルコマンドを直接入力できます。

> **注意:** 起動コマンドが `bash` に設定されている間、アプリケーションは自動的には**起動しません**。作業が終わったら、元の起動コマンドに戻してください。詳細は [コンソールと電源操作](https://daki.cc/ja/wiki/guides/console) を参照してください。

---

## egg（プログラミング言語）の変更

**egg** は、全体的なプログラミング言語とフレームワークを定義します。ある言語から別の言語に切り替える（例: Node.js → Python）には、Startup タブではなく **Settings** タブを使います。egg を変更すると再インストールが行われるため、事前にバックアップを強くおすすめします。[サーバー設定](https://daki.cc/ja/wiki/guides/server-settings) を参照してください。

---

## ヒント

- Startup タブで設定を変更したあとは、変更を反映させるためにサーバーを再起動してください。
- サーバーが起動直後にクラッシュする場合、Console タブの出力に原因がほぼ常に表示されています。
- 起動コマンドのファイル名は、ファイルマネージャーに表示されているものと照らし合わせて、もう一度確認してください。

---

## 次のステップ

- [環境変数](https://daki.cc/ja/wiki/guides/environment-variables) — ボットのトークンやその他のシークレット用の `.env` ファイルを設定します。
- [コンソールと電源操作](https://daki.cc/ja/wiki/guides/console) — サーバーを起動して、出力を確認します。
- [サーバー設定](https://daki.cc/ja/wiki/guides/server-settings) — サーバーを再インストールする、または egg を変更します。

---
Source: https://daki.cc/ja/wiki/guides/startup-settings
