65 lines
2.0 KiB
Markdown
65 lines
2.0 KiB
Markdown
# Sistema de Gestión del Transporte Público Metropolitano
|
|
|
|
Repositorio de los diferentes componentes del sistema de almacenamiento y análisis de los datos del transporte público del Gran Concepción.
|
|
|
|
## Uso
|
|
|
|
### Creación de los contenedores
|
|
|
|
Se dispone del archivo `docker-compose.yaml` que permite construir los contenedores a partir de las diferentes imagenes.
|
|
|
|
Para construir las imagenes ejecute en el directorio:
|
|
```
|
|
docker-compose build
|
|
```
|
|
|
|
Para subir las imagenes al repositorio configurado en el archivo, ejecute:
|
|
```
|
|
docker-compose push
|
|
```
|
|
|
|
### Instalación del enjambre
|
|
|
|
Se deja el archivo `docker-compose.srv.yaml` con una configuración básica de un enjambre del proyecto. Primero, debe crear los volumenes externos donde se almacenan los estados persistentes de la base de datos:
|
|
|
|
|
|
```
|
|
docker volume create static_gtfs_volume
|
|
docker volume create pgdata_web
|
|
docker volume create pgdata_hot_gtfs
|
|
```
|
|
|
|
Una vez creados los volumenes persistentes, para correr una instancia del enjambre con el nombre `prueba-tpmc` ejecute:
|
|
```
|
|
docker stack deploy prueba-tpmc --compose-file docker-compose.srv.yaml
|
|
```
|
|
|
|
Esto dejará corriendo los contenedores en el enjambre, cada uno se encuentra sirviendo sus endpoints configurados en el servicio y requiere adicionalmente un proxy inverso haciendo relay a de los requests a los contenedores correctos.
|
|
|
|
### Disclaimer
|
|
|
|
Se deben crear manualmente las schemas en el `system_db`:
|
|
|
|
```
|
|
docker ps
|
|
|
|
docker exec -it hash#del#contendor#system_db bash
|
|
|
|
psql -U postgres
|
|
\c docker
|
|
create schema doc;
|
|
create schema gestion;
|
|
create schema registros;
|
|
create schema usuarios;
|
|
```
|
|
|
|
Luego, enviar una solicitud al contenedor `private-dynamic` crea las tablas del modelo una vez que los schemas se encuentran creados.
|
|
|
|
#### Este procedimiento es temporal
|
|
|
|
# TODO
|
|
|
|
* Avanzar exponiendo endpoints dinamicos en `public-dynamic`: listado de archivos GTFS para descargar y mapa de paraderos.
|
|
* Programar la lógica para la carga de los GTFS-Estáticos a la bases de datos en `carga-gtfs`.
|
|
* Consolidar los modelos en archivos `.sql`
|