|
||
---|---|---|
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