https://github.com/seo-4d696b75/station-service
日本全国の駅・路線データを取得できるREST API
https://github.com/seo-4d696b75/station-service
docker fastapi python rest-api
Last synced: about 2 months ago
JSON representation
日本全国の駅・路線データを取得できるREST API
- Host: GitHub
- URL: https://github.com/seo-4d696b75/station-service
- Owner: Seo-4d696b75
- Created: 2020-10-31T05:23:32.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-03-29T14:19:19.000Z (over 2 years ago)
- Last Synced: 2025-02-07T05:41:20.585Z (over 1 year ago)
- Topics: docker, fastapi, python, rest-api
- Language: Python
- Homepage: https://api.station.seo4d696b75.com/
- Size: 318 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Station-Service
日本中の駅・路線データを簡単に取得できるREST APIです
- URL:https://api.station.seo4d696b75.com/
- [各エンドポイントの詳細はSwagger UIを参照してください](https://api.station.seo4d696b75.com/docs)

### データのソース
APIが扱うデータは[GitHub station_database](https://github.com/Seo-4d696b75/station_database)で管理されています.
### データの更新
Google Cloud Run のサービスは外部から再起動できない?ので、
同じContainerイメージのまま新しいリビジョンで再デプロイする
### 使用技術



Heroku から Google Cloud Run にデプロイ先を変更しました

# 開発
## Dockerコンテナ環境(デプロイあり)
Google Cloud Runにデプロイするのに必要です
### gcloud CLIのセットアップ
リージョン指定は適宜読み替えて下さい
1. [インストール](https://cloud.google.com/sdk/docs/install?hl=ja)
2. Google Cloudを利用するアカウントでログイン
```bash
gcloud auth login
```
3. プロジェクトの指定
```bash
gcloud config set project ${PROJECT_ID}
gcloud config set run/region asia-northeast1
```
4. Dockerに認証情報をセット
```bash
gcloud auth configure-docker asia-northeast1-docker.pkg.dev
```
### イメージのbuild
1. Docker Desktopなどで使用する場合
```bash
docker build -t ${local_name}:${local_tag} .
```
2. GCRにデプロイする場合
```bash
docker build -t ${local_name}:${local_tag} . --platform linux/amd64
```
### イメージのPush
[Google Artifact Registryを利用します](https://cloud.google.com/artifact-registry/docs/docker/pushing-and-pulling?hl=ja)
`tag=asia-northeast1-docker.pkg.dev/${project_id}/${repo}/${remote_name}:${remote_tag}`
```bash
docker tag ${local_name}:${local_tag} $tag
docker push $tag
```
### Google Cloud Runへのデプロイ
[Google Cloud Consoleから操作できます](https://cloud.google.com/run/docs/deploying?hl=ja#revision)
## Conda環境(デプロイなし)
ローカルで手軽に実行・開発するのに便利です
**注意** HerokuからGoogle Cloud Runへの移行に伴いデプロイにはDockerイメージのビルドが必要です
### 環境のセットアップ
```bash
conda create --name station-service python=3.12
conda activate station-service
pip install -r requirements.txt
```
### ローカル実行
```bash
uvicorn main:app --host 0.0.0.0 --port 3003 --reload
```
### VSCodeのデバッグ設定
```json
{
"python.condaPath": "/Users/${you}/opt/anaconda3/condabin/conda",
"python.defaultInterpreterPath": "/Users/${you}/opt/anaconda3/envs/station-service/bin/python"
}
```