duckil_plm/docker-compose.db.yml

152 lines
4.6 KiB
YAML
Raw Permalink Normal View History

2024-12-12 18:31:36 +09:00
# docker-compose.db.yml
version: "3.8"
services:
2024-12-19 11:59:04 +09:00
plm-postgres:
2024-12-12 18:31:36 +09:00
image: postgres:16
2024-12-19 11:59:04 +09:00
container_name: plm-postgres
2024-12-12 18:31:36 +09:00
restart: unless-stopped
env_file:
- .env.${NODE_ENV:-development}
ports:
- "${POSTGRES_PORT}:5432"
environment:
- NODE_ENV=${NODE_ENV:-development}
- LANG=en_US.utf8
- LC_ALL=en_US.utf8
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_HOST_AUTH_METHOD=scram-sha-256
- POSTGRES_INITDB_ARGS=--auth-host=scram-sha-256 --auth-local=scram-sha-256
- TZ=Asia/Seoul
volumes:
2024-12-19 11:59:04 +09:00
- plm_postgres:/var/lib/postgresql/data
2024-12-12 18:31:36 +09:00
- ./backups/postgres:/backups
2024-12-19 11:59:04 +09:00
- ./plm-postgres/init-scripts:/docker-entrypoint-initdb.d
- ./plm-postgres/postgresql.conf:/etc/postgresql/postgresql.conf:ro
- ./plm-postgres/pg_hba.conf:/etc/postgresql/pg_hba.conf:ro
2024-12-12 18:31:36 +09:00
command:
- "postgres"
- "-c"
- "config_file=/etc/postgresql/postgresql.conf"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
interval: 10s
timeout: 5s
retries: 5
2024-12-19 11:59:04 +09:00
# plm-timescaledb:
# build:
# context: ./plm-timescaledb
# dockerfile: Dockerfile
# container_name: plm-timescaledb
# restart: unless-stopped
# env_file:
# - .env.${NODE_ENV:-development}
# ports:
# - "${TIMESCALEDB_PORT}:5433"
# environment:
# - NODE_ENV=${NODE_ENV:-development}
# - LANG=en_US.utf8
# - LANGUAGE=en_US.utf8
# - LC_ALL=en_US.utf8
# - TZ=Asia/Seoul
# - POSTGRES_HOST_AUTH_METHOD=scram-sha-256
# - POSTGRES_INITDB_ARGS=--auth-host=scram-sha-256 --auth-local=scram-sha-256
# - POSTGRES_DB=${TIMESCALEDB_DB}
# - POSTGRES_USER=${TIMESCALEDB_USER}
# - POSTGRES_PASSWORD=${TIMESCALEDB_PASSWORD}
# # - TIMESCALEDB_DB=${TIMESCALEDB_DB}
# # - TIMESCALEDB_USER=${TIMESCALEDB_USER}
# # - TIMESCALEDB_PASSWORD=${TIMESCALEDB_PASSWORD}
# volumes:
# - plm_timescaledb:/var/lib/postgresql/data
# - ./plm-timescaledb/postgresql.conf:/etc/postgresql/postgresql.conf:ro
# - ./plm-timescaledb/pg_hba.conf:/etc/postgresql/pg_hba.conf:ro
# - ./plm-timescaledb/init-scripts:/docker-entrypoint-initdb.d/:ro
# command: ["postgres", "-c", "config_file=/etc/postgresql/postgresql.conf"]
# healthcheck:
# test: ["CMD-SHELL", "pg_isready -U postgres"]
# interval: 10s
# timeout: 5s
# retries: 5
2024-12-12 18:31:36 +09:00
2024-12-19 11:59:04 +09:00
# plm-redis:
# image: redis:alpine
# container_name: plm-redis
# restart: unless-stopped
# env_file:
# - .env.${NODE_ENV:-development}
# # ports:
# # - "${REDIS_PORT}:6379"
# command: ["redis-server", "--requirepass", "${REDIS_PASSWORD}"]
# volumes:
# - plm_redis:/data
# - ./backups/redis:/backups
# environment:
# - NODE_ENV=${NODE_ENV:-development}
# - REDIS_PASSWORD=${REDIS_PASSWORD}
# depends_on:
# - plm-postgres
# - plm-timescaledb
# healthcheck:
# test: ["CMD", "redis-cli", "-a", "${REDIS_PASSWORD}", "ping"]
# interval: 10s
# timeout: 5s
# retries: 3
2024-12-12 18:31:36 +09:00
2024-12-19 11:59:04 +09:00
# plm-mqtt:
# build:
# context: ./plm-mqtt
# dockerfile: Dockerfile
# args:
# - MQTT_USERNAME=${MQTT_USERNAME}
# - MQTT_PASSWORD=${MQTT_PASSWORD}
# - NODE_RED_USERNAME=${NODE_RED_USERNAME}
# - NODE_RED_PASSWORD=${NODE_RED_PASSWORD}
# container_name: plm-mqtt
# restart: unless-stopped
# env_file:
# - .env.${NODE_ENV:-development}
# ports:
# - "${MQTT_PORT}:1883"
# - "${MQTT_WSS_PORT}:8883"
# environment:
# - MQTT_USERNAME=${MQTT_USERNAME}
# - MQTT_PASSWORD=${MQTT_PASSWORD}
# - NODE_RED_USERNAME=${NODE_RED_USERNAME}
# - NODE_RED_PASSWORD=${NODE_RED_PASSWORD}
# volumes:
# - ./plm-mqtt/data:/mosquitto/data
# - ./plm-mqtt/config:/mosquitto/config
# - ./plm-mqtt/log:/mosquitto/log
# - ./plm-mqtt/certs:/mosquitto/certs
# # entrypoint: ["/docker-entrypoint.sh"]
# # command: ["/usr/sbin/mosquitto", "-c", "/mosquitto/config/mosquitto.conf"]
# user: mosquitto
# healthcheck:
# test:
# [
# "CMD-SHELL",
# "mosquitto_sub -h localhost -t '$$SYS/#' -C 1 -u ${MQTT_USERNAME} -P ${MQTT_PASSWORD} || exit 1",
# ]
# interval: 30s
# timeout: 10s
# retries: 3
# depends_on:
# - plm-postgres
# - plm-timescaledb
2024-12-12 18:31:36 +09:00
volumes:
2024-12-19 11:59:04 +09:00
plm_postgres:
# plm_redis:
# plm_timescaledb:
2024-12-12 18:31:36 +09:00
networks:
default:
driver: bridge
internal:
driver: bridge