|
|
||
|---|---|---|
| Docker | ||
| carga-gtfs | ||
| font | ||
| front-static | ||
| login-mecanics | ||
| models | ||
| private-dynamic | ||
| public-dynamic | ||
| static | ||
| templates | ||
| LICENSE | ||
| README.md | ||
| app.py | ||
| daemon.py | ||
| docker-compose.srv.yaml | ||
| docker-compose.yml | ||
README.md
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