Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/seo-4d696b75/station-service
日本全国の駅・路線データを取得できるREST API
https://github.com/seo-4d696b75/station-service
docker fastapi python rest-api
Last synced: 27 days 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 (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-03-29T14:19:19.000Z (10 months ago)
- Last Synced: 2024-03-29T15:30:21.129Z (10 months 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"
}
```