mirror of
https://github.com/PokeAPI/pokeapi
synced 2024-11-22 19:33:10 +00:00
51 lines
2.1 KiB
Markdown
51 lines
2.1 KiB
Markdown
# Quick reference
|
|
|
|
- **Maintained by**:
|
|
[the PokeAPI Contributors](https://github.com/PokeAPI/pokeapi/graphs/contributors)
|
|
|
|
- **Where to get help**:
|
|
[PokeAPI Slack](http://pokeapi.slack.com/).
|
|
|
|
- **Where to file issues**:
|
|
[https://github.com/PokeAPI/pokeapi/issues](https://github.com/PokeAPI/pokeapi/issues)
|
|
|
|
- **Source of this description**:
|
|
[pokeapi repo's `Resources/docker/app/` directory](https://github.com/PokeAPI/pokeapi/blob/master/Resources/docker/app/README.md)
|
|
|
|
## Supported tags and respective `Dockerfile` links
|
|
|
|
- [`master`](https://github.com/PokeAPI/pokeapi/blob/master/Resources/docker/app/Dockerfile)
|
|
- [`staging`](https://github.com/PokeAPI/pokeapi/blob/staging/Resources/docker/app/Dockerfile)
|
|
|
|
> `pokeapi` uses `python:3.10-alpine` as base image.
|
|
|
|
## What is PokeAPI?
|
|
|
|
PokeAPI is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series.
|
|
|
|
> [pokeapi.co](https://pokeapi.co/)
|
|
|
|
![logo](https://raw.githubusercontent.com/PokeAPI/media/master/logo/pokeapi_256.png)
|
|
|
|
## How to use this image
|
|
|
|
This container connects to a Postgres database via the environment variables `POSTGRES_DB`, `POSTGRES_USER`, `POSTGRES_PASSWORD`, `POSTGRES_HOST`, `POSTGRES_PORT`.
|
|
|
|
The container connects to a Redis cache via the environment variable `REDIS_CONNECTION_STRING`.
|
|
|
|
### Run the container
|
|
|
|
The container exposes port `80`. It needs a PostgreSQL and a Redis instance to connect to. Refer to the section [How to use this image](#how-to-use-this-image) for mapping the environment variables.
|
|
|
|
It's recommended to use the provided [docker-compose.yml](https://github.com/PokeAPI/pokeapi/blob/master/docker-compose.yml) to start a container from this image.
|
|
|
|
### Build the data
|
|
|
|
Pokémon data isn't automatically present in this image. All Pokémon data is persisted in a PostgreSQL database and thus needs to be built.
|
|
|
|
When the container is up and running, run the following shell commands:
|
|
|
|
```sh
|
|
docker exec pokeapi python manage.py migrate --settings=config.docker-compose
|
|
docker exec pokeapi sh -c 'echo "from data.v2.build import build_all; build_all()" | python manage.py shell --settings=config.docker-compose'
|
|
```
|