fix: Docker compose configuration
This commit is contained in:
parent
674d58d5b9
commit
afe39cc5c8
@ -1,28 +1,37 @@
|
|||||||
|
#
|
||||||
|
# Docker
|
||||||
|
#
|
||||||
|
|
||||||
|
#COMPOSE_FILE=docker-compose.yml:docker-compose.traefik.yml
|
||||||
|
COMPOSE_FILE=docker-compose.yml:docker-compose.local.yml
|
||||||
|
OPENDATA_NETWORK_NAME=opendata
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# PostgreSQL
|
# PostgreSQL
|
||||||
#
|
#
|
||||||
|
|
||||||
POSTGRES_CONTAINER_NAME=postgres
|
POSTGRES_CONTAINER_NAME=postgres
|
||||||
POSTGRES_IMAGE=postgres:latest
|
POSTGRES_IMAGE=postgres:16.1
|
||||||
POSTGRES_VOLUME_NAME=postgres
|
POSTGRES_VOLUME_NAME=postgres
|
||||||
|
|
||||||
POSTGRES_USER=postgres
|
POSTGRES_USER=postgres
|
||||||
POSTGRES_PASSWORD=postgres
|
POSTGRES_PASSWORD=utiliser-la-commande-pour-generer-un-mot-de-passe # tr -cd '[:alnum:]' < /dev/urandom | fold -w "64" | head -n 1 | tr -d '\n' ; echo
|
||||||
POSTGRES_DB=postgres
|
POSTGRES_DB=postgres
|
||||||
|
|
||||||
DB_ANON_ROLE=anon
|
DB_ANON_ROLE=anon
|
||||||
DB_SCHEMA=public
|
DB_SCHEMA=public
|
||||||
|
|
||||||
PGADMIN_USER=postgres@postgres.org
|
|
||||||
PGADMIN_PASSWORD=postgres
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# PostgREST
|
# PostgREST
|
||||||
#
|
#
|
||||||
|
|
||||||
POSTGREST_URL=https://opendata.example.org/
|
POSTGREST_DOMAIN=localhost
|
||||||
POSTGREST_CONTAINER_NAME=postgrest
|
POSTGREST_CONTAINER_NAME=postgrest
|
||||||
POSTGREST_IMAGE=postgrest/postgrest:v12.0.2
|
POSTGREST_IMAGE=postgrest/postgrest:v12.0.2
|
||||||
|
|
||||||
|
POSTGREST_URL=http://${POSTGREST_DOMAIN}:3000/
|
||||||
PGRST_DB_MAX_ROWS=100
|
PGRST_DB_MAX_ROWS=100
|
||||||
|
|
||||||
|
|
||||||
@ -30,6 +39,14 @@ PGRST_DB_MAX_ROWS=100
|
|||||||
# Swagger UI
|
# Swagger UI
|
||||||
#
|
#
|
||||||
|
|
||||||
SWAGGER_URL=https://ui.opendata.example.org/
|
SWAGGER_DOMAIN=ui.opendata.example.org
|
||||||
SWAGGER_CONTAINER_NAME=swagger
|
SWAGGER_CONTAINER_NAME=swagger
|
||||||
SWAGGER_IMAGE=swaggerapi/swagger-ui:v5.11.0
|
SWAGGER_IMAGE=swaggerapi/swagger-ui:v5.11.0
|
||||||
|
|
||||||
|
#
|
||||||
|
# Traefik
|
||||||
|
#
|
||||||
|
|
||||||
|
TRAEFIK_NETWORK_NAME=traefik
|
||||||
|
TRAEFIK_ROUTER_NAME=opendata
|
||||||
|
TRAEFIK_ENTRYPOINTS=websecure
|
||||||
|
@ -2,28 +2,16 @@
|
|||||||
|
|
||||||
version: "3.8"
|
version: "3.8"
|
||||||
|
|
||||||
networks:
|
|
||||||
front-end:
|
|
||||||
back-end:
|
|
||||||
driver: bridge
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
postgres:
|
postgres:
|
||||||
ports:
|
ports:
|
||||||
- "5432:5432"
|
- "5432:5432"
|
||||||
networks:
|
|
||||||
- back-end
|
|
||||||
|
|
||||||
postgrest:
|
postgrest:
|
||||||
ports:
|
ports:
|
||||||
- "3000:3000"
|
- "3000:3000"
|
||||||
networks:
|
|
||||||
- back-end
|
|
||||||
|
|
||||||
swagger:
|
swagger:
|
||||||
ports:
|
ports:
|
||||||
- "8080:8080"
|
- "8080:8080"
|
||||||
networks:
|
|
||||||
- front-end
|
|
||||||
- back-end
|
|
||||||
|
@ -6,14 +6,26 @@ networks:
|
|||||||
traefik:
|
traefik:
|
||||||
name: ${TRAEFIK_NETWORK_NAME:-traefik}
|
name: ${TRAEFIK_NETWORK_NAME:-traefik}
|
||||||
external: true
|
external: true
|
||||||
opendata:
|
|
||||||
name: ${OPENDATA_NETWORK_NAME:-opendata}
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
postgrest:
|
postgrest:
|
||||||
networks:
|
networks:
|
||||||
- traefik
|
- traefik
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik}
|
||||||
|
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-opendata}_postgrest.rule=Host(`${POSTGREST_DOMAIN:?err}`)
|
||||||
|
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-opendata}_postgrest.entrypoints=${TRAEFIK_ENTRYPOINTS:-websecure}
|
||||||
|
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-opendata}_postgrest.tls.certResolver=letsencrypt
|
||||||
|
|
||||||
swagger:
|
swagger:
|
||||||
networks:
|
networks:
|
||||||
- traefik
|
- traefik
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik}
|
||||||
|
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-opendata}_swagger.rule=Host(`${SWAGGER_DOMAIN:?err}`)
|
||||||
|
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-opendata}_swagger.entrypoints=${TRAEFIK_ENTRYPOINTS:-websecure}
|
||||||
|
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-opendata}_swagger.tls.certResolver=letsencrypt
|
||||||
|
- traefik.http.services.${TRAEFIK_ROUTER_NAME:-opendata}_swagger.loadbalancer.server.port=8080
|
||||||
|
@ -2,6 +2,10 @@
|
|||||||
|
|
||||||
version: "3.8"
|
version: "3.8"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
opendata:
|
||||||
|
name: ${OPENDATA_NETWORK_NAME:-opendata}
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
postgres:
|
postgres:
|
||||||
name: ${POSTGRES_VOLUME_NAME:-postgres}
|
name: ${POSTGRES_VOLUME_NAME:-postgres}
|
||||||
@ -23,6 +27,8 @@ services:
|
|||||||
- "./initdb:/docker-entrypoint-initdb.d"
|
- "./initdb:/docker-entrypoint-initdb.d"
|
||||||
- /etc/timezone:/etc/timezone:ro
|
- /etc/timezone:/etc/timezone:ro
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
networks:
|
||||||
|
- opendata
|
||||||
|
|
||||||
postgrest:
|
postgrest:
|
||||||
container_name: ${POSTGREST_CONTAINER_NAME:-postgrest}
|
container_name: ${POSTGREST_CONTAINER_NAME:-postgrest}
|
||||||
@ -38,6 +44,8 @@ services:
|
|||||||
PGRST_DB_MAX_ROWS: ${PGRST_DB_MAX_ROWS:-100}
|
PGRST_DB_MAX_ROWS: ${PGRST_DB_MAX_ROWS:-100}
|
||||||
depends_on:
|
depends_on:
|
||||||
- postgres
|
- postgres
|
||||||
|
networks:
|
||||||
|
- opendata
|
||||||
|
|
||||||
swagger:
|
swagger:
|
||||||
container_name: ${SWAGGER_CONTAINER_NAME:-swagger}
|
container_name: ${SWAGGER_CONTAINER_NAME:-swagger}
|
||||||
@ -45,3 +53,7 @@ services:
|
|||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
API_URL: ${POSTGREST_URL:-http://localhost:3000/}
|
API_URL: ${POSTGREST_URL:-http://localhost:3000/}
|
||||||
|
depends_on:
|
||||||
|
- postgrest
|
||||||
|
networks:
|
||||||
|
- opendata
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"name": "opendata",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"clean": "rm ./node_modules -rf && rm ./tmp -rf && rm ./initdb/*.csv -rf",
|
"clean": "rm ./node_modules -rf && rm ./tmp -rf && rm ./initdb/*.csv -rf",
|
||||||
|
Loading…
Reference in New Issue
Block a user