インストール

プロジェクトのインストール方法について記載します。

必要な環境

  • 要件1

  • 要件2

  • 要件3

インストール手順

ステップ1: 事前準備

事前に必要な準備について記載します。

ステップ2: インストール

  1. 手順1を実行

  2. 手順2を実行

  3. 手順3を実行

# サンプルコマンド
echo "Hello World"

ステップ3: 設定

設定ファイルの編集や環境変数の設定について記載します。

確認

インストールが正常に完了したかを確認する方法を記載します。

トラブルシューティング

よくある問題とその解決方法を記載します。

問題1

問題の説明と解決方法

問題2

問題の説明と解決方法

項目

内容

OS

Linux/macOS/Windows(WSL2推奨)

言語

Python 3.11以上、Node.js 18以上

データベース

sqlite3/PostgreSQL

その他

git, AWS CLI, Terraform

推奨環境

項目

内容

pythonパッケージ管理

uv

Node.jsバージョン管理

nvm

devcontainer

VSCode(Cursor)のdevcontainerを使用すると必須、推奨環境のツール一式と便利なVSCode拡張機能が入ったdebian環境が構築されます。

環境構築手順

1. 前提ツールのインストール(devcontainerを使用しない場合)

Python 3.11以上のインストール(uvの使用を推奨)

Ubuntu/Debian:

curl -LsSf https://astral.sh/uv/install.sh | sh

# curlが入っていない場合
sudo apt update && sudo apt install curl -y

# python3.11をインストール
uv python install 3.11

macOS:

brew install uv

# または以下でも可能
curl -LsSf https://astral.sh/uv/install.sh | sh

# python3.11をインストール
uv python install 3.11

すでに何らかのpythonバージョンとpipが入っている場合、PyPiパッケージとして以下でインストールすることも可能です。

pip install uv

Node.js 18以上のインストール(NVMの使用を推奨)

Ubuntu/Debian:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
nvm install 22
nvm use 22

macOS:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
nvm install 22
nvm use 22

gitのインストール(インストール済みの場合はスキップ)

Ubuntu/Debian:

sudo apt install -y git

macOS:

brew install git

2. リポジトリのクローン

git clone https://github.com/leadingtechdev/tenshoku-agent.git
cd tenshoku-agent

3. パッケージのインストール

Pythonの仮想環境を作成し、必要なパッケージをインストールします:

# 仮想環境の作成と依存関係のインストール
uv sync

# pre-commitフックのインストール(コードの品質を自動チェック)
uvx pre-commit install

# コマンドのたびにuvxをつけるのが面倒なら仮想環境に入ってください
. .venv/bin/activate

Node.jsのパッケージもインストールします:

npm install

また、Node.jsのビルドを行います:

# 各アプリのCSSとJSをwebpackします
npm run build

4. 環境設定

.env.exampleファイルをコピーして.envファイルを作成します:

cp .env.example .env

必要に応じて.envファイルを編集し、環境変数を設定します。 環境変数に設定する値は1passwordに保存されていますので、必要な値を取得してください。

環境変数をセット

source .env

5. データベースのセットアップ

まず、マイグレーションファイルを作成し、初期ユーザーの設定をします:

# データベースのセットアップスクリプトを実行
./setup_dev.sh

6. Terraformのインストール

tfenv(Terraformバージョン管理ツール)を使用してTerraformをインストールします:

# 既存のtfenvがあれば削除
rm -rf ~/.tfenv

# tfenvをインストール
git clone --depth=1 https://github.com/tfutils/tfenv.git ~/.tfenv

# パスを通す
echo 'export PATH=$PATH:$HOME/.tfenv/bin' >> ~/.bashrc
source ~/.bashrc

# Terraformのインストールとバージョン指定
tfenv install latest
tfenv use latest

7. AWS CLIのセットアップ

AWS CLIをインストールして設定します:

Ubuntu/Debian:

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

macOS:

curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /

AWSの認証情報を設定します:

aws configure
# AWS Access Key ID、Secret Access Key、リージョン、出力形式を入力

8. 開発サーバーの起動

python manage.py runserver

これで、ブラウザで http://localhost:8000 にアクセスすると、tenshoku-agentが表示されます。 管理画面は http://localhost:8000/admin/ でアクセスできます。

トラブルシューティング

一般的なエラー解決策

  1. 依存関係エラー:新しい依存関係が追加された場合は、pip install -r requirements.txt を再実行してください。

  2. データベース関連エラー:データベーススキーマに問題がある場合は以下を試してください:

    python manage.py makemigrations
    python manage.py migrate
    
  3. 環境変数エラー:環境変数が正しく設定されているか確認してください:

    source .env
    # または
    export $(cat .env | xargs)
    
  4. Node.jsビルドエラー:フロントエンド関連のエラーが発生した場合:

    npm clean-install
    npm run build