Skip to content

traPtitech/piscon-portal-v2

Repository files navigation

piscon-portal-v2

開発環境

プロジェクトルートディレクトリに以下のように .env ファイルを用意してください。CLIENT_IDCLIENT_SECRETはtraQのものです。

DB_USER=root
DB_PASSWORD=password
DB_HOST=db
DB_PORT=3306
DB_NAME=portal

ROOT_URL=http://localhost:8080

SESSION_SECRET=secret

CLIENT_ID=my-client-id
CLIENT_SECRET=my-client-secret

ADMIN_USER_ID={{ traQ user ID (UUID) }}
ADMIN_USER_NAME={{ traQ user name }}

traQで作成するClientは リダイレクトURL に http://localhost:8080/api/oauth2/callback、スコープに openid, profile を指定します。 task up で portal server が 8080番 ポートで起動します。task dev でホットリロード付きで起動します。

Go 1.24で入った experimental な機能である testing/synctestrunner/runner_test.go で使っています。2025/2/26時点でこれを動かすためには、環境変数で GOEXPERIMENT=synctest を設定する必要があります。VSCode であれば、 .vscode/settings.json

{
  "go.toolsEnvVars": {
    "GOEXPERIMENT": "synctest"
  }
}

を書き込むことで環境変数を設定できます。

AWS を使ったローカルでの動作

ポータルをローカルのdocker composeで動かし、AWSのインスタンスを操作するには、以下のような設定を行います。

1. AWS CLI のインストール

AWS CLI をインストールします。

2. AWS の認証情報の設定

AWS CLIを使って認証のプロファイルを設定します。~/.aws/config~/.aws/credentials ファイルが作成されます。

3. .env への追記

.env ファイルに以下のように追記します。

AWS_IMAGE_ID=ami-002d61d6436f85f12 # private-isu の AMI の ID
AWS_INSTANCE_TYPE=c7a.large
AWS_REGION=ap-northeast-1
AWS_SUBNET_ID={{ AWS の Subnet ID }}
AWS_SECURITY_GROUP_ID={{ AWS の Security Group ID }}
AWS_KEY_PAIR_NAME={{ AWS の Key Pair 名 }}

INSTANCE_MANAGER=aws

AWS_PROFILE={{ 2で用意した AWS のプロファイル名 }}
AWS_SHARED_CREDENTIALS_FILE=/app/.aws/credentials
AWS_CONFIG_FILE=/app/.aws/config
AWS_SDK_LOAD_CONFIG=true

4. 起動

docker compose --file compose.aws.yaml up

protobuf について

proto/README.md を参照してください。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 7