Skip to content

shun198/go-practice

Repository files navigation

使用技術一覧

目次

  1. プロジェクトについて
  2. 環境
  3. ディレクトリ構成
  4. 開発環境構築
  5. トラブルシューティング



プロジェクト名

React、GO、Terraform のテンプレートリポジトリ

プロジェクトについて

React、GO、Terraform を勉強する際に使用できるテンプレート


プロジェクト詳細 »

(トップへ)

環境

言語・フレームワーク バージョン
Python 3.11.4
GO 1.19.0
Postgres 15.2
Node.js 16.17.0
React 18.2.0
Next.js 13.4.6
Terraform 1.3.6

その他のパッケージのバージョンは go.sum と package.json を参照してください

(トップへ)

ディレクトリ構成

❯ tree -a -I "node_modules|.next|.git" -L 2
.
├── .devcontainer
│   └── devcontainer.json
├── .env
├── .github
│   ├── release-drafter.yml
│   └── workflows
├── .gitignore
├── Makefile
├── README.md
├── backend
│   ├── .vscode
│   ├── go.sum
│   ├── main.go
│   ├── migrations
│   ├── models
│   └── tests
├── containers
│   ├── go
│   ├── front
│   ├── postgres
│   └── nginx
├── docker-compose.yml
├── frontend
│   ├── .gitignore
│   ├── README.md
│   ├── __test__
│   ├── components
│   ├── features
│   ├── next-env.d.ts
│   ├── package-lock.json
│   ├── package.json
│   ├── pages
│   ├── postcss.config.js
│   ├── public
│   ├── styles
│   ├── tailwind.config.js
│   └── tsconfig.json
└── infra
    ├── .gitignore
    ├── docker-compose.yml
    ├── main.tf
    ├── network.tf
    └── variables.tf

(トップへ)

開発環境構築

コンテナの作成と起動

.env ファイルを以下の環境変数例と環境変数の一覧を元に作成

POSTGRES_NAME=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_HOST=db
POSTGRES_PORT=5432

.env ファイルを作成後、以下のコマンドで開発環境を構築

make prepare

動作確認

http://127.0.0.1:8000 にアクセスできるか確認 アクセスできたら成功

コンテナの停止

以下のコマンドでコンテナを停止することができます

make down

環境変数の一覧

変数名 役割 デフォルト値 DEV 環境での値
POSTGRES_NAME Postgres のデータベース名(Docker で使用) postgres
POSTGRES_USER Postgres のユーザ名(Docker で使用) postgres
POSTGRES_PASSWORD Postgres のパスワード(Docker で使用) postgres
POSTGRES_HOST Postgres のホスト名(Docker で使用) db
POSTGRES_PORT Postgres のポート番号(Docker で使用) 5432

コマンド一覧

Make 実行する処理 元のコマンド
make prepare node_modules のインストール、イメージのビルド、コンテナの起動を順に行う docker-compose run --rm front npm install
docker-compose up -d --build
make up コンテナの起動 docker-compose up -d
make build イメージのビルド docker-compose build
make down コンテナの停止 docker-compose down
make init Terraform の初期化 docker-compose -f infra/docker-compose.yml run --rm terraform init
make fmt Terraform の設定ファイルをフォーマット docker-compose -f infra/docker-compose.yml run --rm terraform fmt
make validate Terraform の構成ファイルが正常であることを確認 docker-compose -f infra/docker-compose.yml run --rm terraform validate
make show 現在のリソースの状態を参照 docker-compose -f infra/docker-compose.yml run --rm terraform show
make apply Terraform の内容を適用 docker-compose -f infra/docker-compose.yml run --rm terraform apply
make destroy Terraform で構成されたリソースを削除 docker-compose -f infra/docker-compose.yml run --rm terraform destroy

リモートデバッグの方法

リモートデバッグ を使用する際は以下の url を参考に設定してください

!未執筆

GO のコンテナへリモートデバッグしよう!

トラブルシューティング

.env: no such file or directory

.env ファイルがないので環境変数の一覧を参考に作成しましょう

docker daemon is not running

Docker Desktop が起動できていないので起動させましょう

Ports are not available: address already in use

別のコンテナもしくはローカル上ですでに使っているポートがある可能性があります
下記記事を参考にしてください
コンテナ起動時に Ports are not available: address already in use が出た時の対処法について

Module not found

make build

を実行して Docker image を更新してください

(トップへ)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published