> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# squarecloud.app 設定ファイルの作成方法

> Square Cloud の設定ファイルの作成方法を学びましょう

## 設定ファイルとは？

設定ファイルは、メインファイル、メモリ、バージョンなどのアプリケーションのパラメータを含むファイルです。このファイルは、Square Cloud プラットフォーム上でアプリケーションを設定してデプロイするために使用されます。

```systemd squarecloud.app theme={null}
MAIN=main_file.js
DISPLAY_NAME=I am the configuration file
MEMORY=512
VERSION=recommended
```

## 設定ファイルの作成

設定ファイルの作成はとても簡単です。`squarecloud.app` または `squarecloud.config` という名前のファイルを作成し、その中に設定パラメータを追加するだけです。

<Steps>
  <Step title="拡張子を選ぶ">
    設定ファイルには 2 つの拡張子を使用できます。**.app** または **.config** です。`squarecloud.app` または `squarecloud.config` のどちらでもお好みのものを使用できます。ヒント: Square Cloud を広めるために **.app** を使いましょう。🥰😂
    <Info>**macOS** では、**.config** 拡張子の使用をおすすめします。</Info>
    <Warning>注意: **.app** または **.config** は**ファイルの拡張子**を指すものであり、ファイル名ではありません。</Warning>
  </Step>

  <Step title="ファイルを作成する">
    選択した拡張子でファイルを作成し、その中に設定パラメータを追加します。
  </Step>
</Steps>

## 設定パラメータ

以下に、設定ファイルで利用可能なすべての設定パラメータを示します。

| パラメータ           | 型       | 編集可否 | 制限     | 用途                                                 |
| --------------- | ------- | :--: | ------ | -------------------------------------------------- |
| `MAIN*`         | String  |   ❌  | 32 文字  | アプリケーションのメインファイルを定義します。例: `index.js`、`main.py` など。 |
| `VERSION*`      | String  |   ❌  | -      | 言語のバージョン（例: `recommended`）。                        |
| `MEMORY*`       | Integer |   ✅  | -      | メモリ量（メガバイト単位）。                                     |
| `DISPLAY_NAME*` | String  |   ✅  | 32 文字  | アプリケーションの表示名。                                      |
| `RUNTIME`       | String  |   ❌  | -      | ランタイム環境。例: `typescript`、`nodejs`、`go`。             |
| `DESCRIPTION`   | String  |   ✅  | 280 文字 | アプリケーションの説明/メタデータ。                                 |
| `AUTORESTART`   | Boolean |   ✅  | -      | 自動再起動（`true` または `false`）。                         |
| `START`         | String  |   ✅  | 256 文字 | カスタム起動コマンド。                                        |
| `SUBDOMAIN`     | String  |   ✅  | 63 文字  | ウェブサイトのサブドメイン（該当する場合）。                             |

<Info>編集可能なパラメータ（✅）は、デプロイ後にダッシュボードで変更できます。編集不可（❌）のパラメータを変更するには、アプリケーションの完全な再アップロードが必要です。</Info>

## 設定パラメータの詳細

以下に、設定ファイルで使用できる設定パラメータを示します。

<Steps>
  <Step title="MAIN [*]" icon="file">
    **型**: String | **編集可否**: ❌ | **制限**: 32 文字

    アプリケーションのメインファイルを定義します。

    ```systemd theme={null}
    MAIN=index.js
    ```

    ```systemd theme={null}
    MAIN=src/loaders/index.js
    ```

    <Info>このパラメータが設定されている場合、ランタイム環境はメインファイルの拡張子に基づいて推論されます</Info>
    <Tip>この設定は、START パラメータを使用している場合は**無視されます**。</Tip>
  </Step>

  <Step title="MEMORY [*]" icon="memory">
    **型**: Integer | **編集可否**: ✅ | **制限**: 最小 256MB（ボット）、512MB（サイト）

    アプリケーションが使用するメモリ量を定義します。

    ```systemd theme={null}
    MEMORY=256
    ```

    <Info>値はメガバイト（MB）で指定する必要があります。</Info>
  </Step>

  <Step title="VERSION [*]" icon="arrow-up-9-1">
    **型**: String | **編集可否**: ❌ | **値**: `recommended`、`latest` または特定のバージョン
    <Tip>最適な安定性のために `recommended` の使用をおすすめします。</Tip>

    アプリケーションの言語バージョンを定義します。

    ```systemd theme={null}
    VERSION=recommended
    ```

    | 言語                 | `recommended` | `latest` |
    | ------------------ | ------------- | -------- |
    | Node.js \[JS & TS] | 24.15.0       | 26.1.0   |
    | Python             | 3.13.13       | 3.14.5   |
    | Java               | JDK 25        | JDK 25   |
    | Elixir             | 1.19.5        | 1.19.5   |
    | Rust               | 1.95.0        | 1.95.0   |
    | Ruby               | 4.0.4         | 4.0.4    |
    | PHP                | 8.5.6         | 8.5.6    |
    | Go                 | 1.26.3        | 1.26.3   |
    | .NET/C#            | 10.0.8        | 10.0.8   |
  </Step>

  <Step title="DISPLAY_NAME [*]" icon="text">
    **型**: String | **編集可否**: ✅ | **制限**: 32 文字

    アプリケーションの表示名を定義します。

    ```systemd theme={null}
    DISPLAY_NAME=Admin BOT
    ```
  </Step>

  <Step title="DESCRIPTION" icon="text">
    **型**: String | **編集可否**: ✅ | **制限**: 280 文字

    アプリケーションの説明を定義します。

    ```systemd theme={null}
    DESCRIPTION=This bot is designed to help you with your daily tasks.
    ```
  </Step>

  <Step title="AUTORESTART" icon="rotate">
    **型**: Boolean | **編集可否**: ✅ | **値**: `true`、`false` | **デフォルト**: `false`

    アプリケーションが失敗時に自動的に再起動すべきかどうかを定義します。

    ```systemd theme={null}
    AUTORESTART=true
    ```
  </Step>

  <Step title="SUBDOMAIN" icon="globe">
    **型**: String | **編集可否**: ✅ | **制限**: 63 文字 | **デフォルト**: `undefined`

    サイトのサブドメインを定義します（ウェブアプリケーションのみ）。

    ```systemd theme={null}
    SUBDOMAIN=mysite
    ```

    <Note>最終的な URL は次のようになります: `mysite.squareweb.app`</Note>
  </Step>

  <Step title="RUNTIME" icon="server">
    **型**: String | **編集可否**: ❌

    ランタイム環境を手動で定義します。

    ```systemd theme={null}
    RUNTIME=nodejs
    ```

    以下で受け入れられる値と環境を確認してください。

    | 環境         | RUNTIME                  |
    | ---------- | ------------------------ |
    | Nodejs     | `nodejs`, `javascript`   |
    | TypeScript | `typescript`             |
    | Python     | `python`                 |
    | C#/Dotnet  | `c#`, `dotnet`, `csharp` |
    | Elixir     | `elixir`                 |
    | Java       | `java`                   |
    | Rust       | `rust`                   |
    | Ruby       | `ruby`, `rb`             |
    | PHP        | `php`                    |
    | Golang     | `go`, `golang`           |
    | HTML/CSS   | `static`, `html`         |

    <Warning>このパラメータを設定する場合、MAIN を設定する必要はありません。代わりに、カスタム START コマンドを設定してください。</Warning>
  </Step>

  <Step title="START" icon="play">
    **型**: String | **編集可否**: ✅ | **制限**: 256 文字 | **デフォルト**: `undefined`

    カスタム起動コマンドを定義します。

    ```systemd theme={null}
    START=npm run start
    ```

    <Warning>このパラメータはデフォルトの MAIN の動作を**上書き**します。</Warning>
  </Step>
</Steps>

## ボット向けの設定例

ボット向けの設定例をいくつか紹介します。

```systemd theme={null}
# Required parameters.
MAIN=index.js
MEMORY=512
VERSION=recommended
DISPLAY_NAME=Robin bot
```

```systemd theme={null}
# Example with all parameters.
MAIN=index.js
MEMORY=512
VERSION=recommended
DISPLAY_NAME=Robin bot
DESCRIPTION=This bot was created to help with your daily tasks.
START=npm run start
AUTORESTART=true
```

## サイト向けの設定例

ウェブサイト向けの設定例をいくつか紹介します。

<Info>サイトの URL は次のようになります: `mysite.squareweb.app`</Info>

```systemd theme={null}
# Example with all parameters.
MAIN=index.js
MEMORY=1024
VERSION=recommended
DISPLAY_NAME=My site
DESCRIPTION=My site is really cool!
SUBDOMAIN=mysite
START=npm run build && npm run start
AUTORESTART=true
```

<Info>`next.config.js` を MAIN として指定するのは、プロジェクトを JavaScript または TypeScript のプロジェクト（別の .ts/.tsx ファイル）としてシステムに認識させるためだけです</Info>

```systemd theme={null}
# Example for a Next.js site.
MAIN=next.config.js
MEMORY=2048
VERSION=recommended
DISPLAY_NAME=Next.js site
DESCRIPTION=This site was built with Next.js.
SUBDOMAIN=nextjs
START=npm run build && npm run start
AUTORESTART=true
```
