# 共同サーバにアップロードして利用する前提のプロジェクトのためのルール

Update: 2026-05-25 by dododo-shirouto

## 環境情報

- ConoHa VPS
- プラン	メモリ 1GB/CPU 2Core
- ブートストレージ	SSD 100GB
- ネットワーク Virtio	ON
- ストレージ Virtio	ON
- 帯域	In 100.0 Mbps / Out 100.0 Mbps
- Ubuntu 24.04.4 LTS
- 6.8.0-117-generic
- Docker version 29.1.3, build 29.1.3-0ubuntu3~24.04.2
- Docker Compose version 2.40.3+ds1-0ubuntu1~24.04.1
- Image jc21/nginx-proxy-manager:latest
- Node.js v20.20.2
- npm 10.8.2
- PM2 7.0.1

## コーディングルール

### ポート番号はenvかconfigで変えられるようにする

サーバ内でポート番号が衝突しないように、ポート番号はアップロード時に手動で変更します。

プロジェクトで使う全てのポート番号はenvまたはconfigで変更できるようにしてください。

### ルートパスはプロジェクトフォルダのルートからの相対パスにする or ルートパスをenvかconfigで変えられるようにする

サーバ内ではプロジェクトディレクトリごとにドメインかサブドメインからのルーティングをします。

なのでプロジェクトディレクトリがルートディレクトリになります。

ルートパスをenvかconfigで変えられるようにしておくことが無難です。

### データベース(SQLite)の扱い

データベースが必要な場合は **SQLite** を使用してください。

SQLiteのデータファイル(例: `database.sqlite`)は、必ず**各プロジェクトフォルダのルート直下**に配置してください。

データの保存先パスは、相対パス(`./database.sqlite`)または環境変数(`env`)で変更できるように実装してください。

共有のデータベースサーバーを構築・接続しないでください。

## サーバ運用ルール

### プロジェクトルートディレクトリの命名規則

ポート番号はサーバ内のディレクトリ名で管理します。(ローカル制作時は気にしなくて良い)

ディレクトリ命名規則 `[ポート番号/範囲]-[ドメイン/サブドメイン]-[プロジェクトタイトル]`
例1: `3000-test.dodoneko.site-site_test`
例2: `3001_3003-cms.athrive.jp-original_cms`

### プロジェクトフォルダの置き場所

サーバ全体はこの規則に則って配置します。

静的HTML・PHP用は、`~/npm/www/` 配下に並べる。ディレクトリ名にポート番号は不要。
Node.jsアプリは、`~/apps/` 配下に並べる。ポート番号は既存のフォルダから見て判断する。

```
~
├── npm/
│   └── www/            ────── 【静的HTML・PHP用のクローゼット】
│       ├── test.dodoneko.site-site_test/
│       ├── sf6.athrive.jp-lp_v1/
│       └── athrive.jp-wp_site/
│
└── apps/               ────── 【Node.jsアプリ用のクローゼット】
    ├── 3000-proto-node/
    ├── 3001_3002-line-bot/
    └── 3003_3004-react-api/
```