Public Access
1
0
Files
leads4less/docker-compose.yml
T

101 lines
2.3 KiB
YAML

services:
db:
image: postgis/postgis:16-3.4
restart: unless-stopped
networks:
- locale-all
environment:
POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]
interval: 5s
timeout: 5s
retries: 10
start_period: 10s
volumes:
- leads4less-db:/var/lib/postgresql/data
migrate:
build:
context: .
target: migrate
depends_on:
db:
condition: service_healthy
environment:
NODE_ENV: ${NODE_ENV}
DATABASE_URL: ${DATABASE_URL}
COOKIE_SECRET: ${COOKIE_SECRET}
PG_BOSS_SCHEMA: ${PG_BOSS_SCHEMA}
restart: "no"
api:
build:
context: .
target: api
depends_on:
db:
condition: service_healthy
migrate:
condition: service_completed_successfully
environment:
NODE_ENV: ${NODE_ENV}
APP_HOST: ${APP_HOST}
APP_PORT: ${APP_PORT}
APP_ORIGIN: ${APP_ORIGIN}
DATABASE_URL: ${DATABASE_URL}
COOKIE_SECRET: ${COOKIE_SECRET}
GOOGLE_MAPS_SERVER_KEY: ${GOOGLE_MAPS_SERVER_KEY}
PG_BOSS_SCHEMA: ${PG_BOSS_SCHEMA}
SESSION_TTL_DAYS: ${SESSION_TTL_DAYS}
restart: unless-stopped
networks:
- locale-all
ports:
- "${APP_PORT}:${APP_PORT}"
worker:
build:
context: .
target: worker
depends_on:
db:
condition: service_healthy
migrate:
condition: service_completed_successfully
environment:
NODE_ENV: ${NODE_ENV}
DATABASE_URL: ${DATABASE_URL}
COOKIE_SECRET: ${COOKIE_SECRET}
GOOGLE_MAPS_SERVER_KEY: ${GOOGLE_MAPS_SERVER_KEY}
PG_BOSS_SCHEMA: ${PG_BOSS_SCHEMA}
SESSION_TTL_DAYS: ${SESSION_TTL_DAYS}
restart: unless-stopped
networks:
- locale-all
web:
build:
context: .
target: web
args:
VITE_API_BASE_URL: ${VITE_API_BASE_URL}
VITE_GOOGLE_MAPS_PLATFORM_KEY: ${VITE_GOOGLE_MAPS_PLATFORM_KEY}
depends_on:
api:
condition: service_started
restart: unless-stopped
networks:
- locale-all
ports:
- "${WEB_PORT}:80"
volumes:
leads4less-db:
networks:
locale-all:
external: true