From 7a8bd60185a02a9a321ae44ad08741a45fdc07db Mon Sep 17 00:00:00 2001 From: louiscklaw Date: Sat, 24 May 2025 05:41:35 +0800 Subject: [PATCH] update docker config, --- 002_source/docker/dc.sh | 9 ++ 002_source/docker/docker-compose.db.yml | 16 +-- 002_source/docker/docker-compose.yml | 181 ++++++++++++------------ 3 files changed, 107 insertions(+), 99 deletions(-) create mode 100755 002_source/docker/dc.sh diff --git a/002_source/docker/dc.sh b/002_source/docker/dc.sh new file mode 100755 index 0000000..17d4127 --- /dev/null +++ b/002_source/docker/dc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -ex + + +docker compose \ + -f docker-compose.yml \ + -f docker-compose.db.yml \ + $@ diff --git a/002_source/docker/docker-compose.db.yml b/002_source/docker/docker-compose.db.yml index 4883a58..4af3b87 100644 --- a/002_source/docker/docker-compose.db.yml +++ b/002_source/docker/docker-compose.db.yml @@ -7,9 +7,9 @@ volumes: services: pocketbase: - # image: ghcr.io/muchobien/pocketbase:latest + image: 192.168.10.61:5000/demo_cms_pocketbase:latest build: - context: ./pocketbase/docker + context: ../pocketbase/docker args: - VERSION=0.26.6 # Specify the PocketBase version here # hostname: pocketbase @@ -27,12 +27,12 @@ services: - ../pocketbase/pb_hooks:/pb_hooks # TODO: resume healthcheck in prod - # healthcheck: - # #optional (recommended) since v0.10.0 - # test: wget --no-verbose --tries=1 --spider http://localhost:8090/api/health || exit 1 - # interval: 5s - # timeout: 5s - # retries: 5 + healthcheck: + #optional (recommended) since v0.10.0 + test: wget --no-verbose --tries=1 --spider http://localhost:8090/api/health || exit 1 + interval: 5s + timeout: 5s + retries: 5 deploy: resources: diff --git a/002_source/docker/docker-compose.yml b/002_source/docker/docker-compose.yml index bc02575..09caf11 100644 --- a/002_source/docker/docker-compose.yml +++ b/002_source/docker/docker-compose.yml @@ -1,22 +1,20 @@ -volumes: - shared: - dist: - services: cms: - image: 192.168.10.61:5000/cms_ubuntu - # build: ./cms + image: 192.168.10.61:5000/demo_cms_ubuntu + build: ../cms env_file: - .env volumes: - - ./cms:/app + - ../cms:/app ports: - 3000:3000 working_dir: /app - command: ./scripts/docker/entrypoint.sh + # command: /app/scripts/docker/entrypoint.sh + command: sleep infinity depends_on: pocketbase: condition: service_healthy + user: 1000:1000 healthcheck: #optional (recommended) since v0.10.0 test: wget --no-verbose --tries=1 --spider http://localhost:3000 || exit 1 @@ -30,91 +28,92 @@ services: reservations: cpus: '0.01' - doc: - build: ./doc - env_file: - - .env - volumes: - - ./doc:/app - ports: - - 3001:3000 - working_dir: /app - command: ./scripts/docker/entrypoint.sh - healthcheck: - #optional (recommended) since v0.10.0 - test: wget --no-verbose --tries=1 --spider http://localhost:3000 || exit 1 - interval: 5s - timeout: 5s - retries: 5 + # doc: + # build: ../doc + # env_file: + # - .env + # volumes: + # - ./doc:/app + # ports: + # - 3001:3000 + # working_dir: /app + # command: ./scripts/docker/entrypoint.sh + # healthcheck: + # #optional (recommended) since v0.10.0 + # test: wget --no-verbose --tries=1 --spider http://localhost:3000 || exit 1 + # interval: 5s + # timeout: 5s + # retries: 5 - deploy: - resources: - limits: - cpus: '0.5' - reservations: - cpus: '0.01' + # deploy: + # resources: + # limits: + # cpus: '0.5' + # reservations: + # cpus: '0.01' - ionic_mobile: - # image: node:20-bullseye-slim - # build: ./ionic_mobile - image: 192.168.10.61:5000/ionic_mobile_ubuntu - # user: 1000:1000 - env_file: - - .env - volumes: - - ./ionic_mobile:/app - ports: - - 5173:5173 - working_dir: /app - command: ./scripts/docker/entrypoint.sh - depends_on: - pocketbase: - condition: service_healthy - healthcheck: - #optional (recommended) since v0.10.0 - test: wget --no-verbose --tries=1 --spider http://localhost:5173 || exit 1 - interval: 5s - timeout: 5s - retries: 5 + # api_ts: + # # TODO: review this config, the api_ts volumes should be place inside 002_source/docker/volumes + # # image: 192.168.10.61:5000/api_ts_ubuntu + # build: ../api_ts + # volumes: + # - ../api_ts:/app + # working_dir: /app + # # env_file: + # # - .env + # environment: + # - NODE_ENV=production + # - PB_HOSTNAME=pocketbase + # - PB_USERNAME=admin@123.com + # - PB_PASSWORD=Aa12345678 + # ports: + # - 8080:3000 + # # command: sleep infinity + # command: ./entrypoint.sh + # # depends_on: + # # pocketbase: + # # condition: service_healthy + # # healthcheck: + # # #optional (recommended) since v0.10.0 + # # test: wget --no-verbose --tries=1 --spider http://localhost:3000 || exit 1 + # # interval: 5s + # # timeout: 5s + # # retries: 5 - deploy: - resources: - limits: - cpus: '0.5' - reservations: - cpus: '0.01' + # deploy: + # resources: + # limits: + # cpus: 0.5 + # reservations: + # cpus: 0.01 - api_ts: - # TODO: review this config, the api_ts volumes should be place inside 002_source/docker/volumes - image: 192.168.10.61:5000/api_ts_ubuntu - # build: ./api_ts - volumes: - - ../api_ts:/app - working_dir: /app - # env_file: - # - .env - environment: - - NODE_ENV=production - - PB_HOSTNAME=pocketbase - - PB_USERNAME=admin@123.com - - PB_PASSWORD=Aa12345678 - ports: - - 8080:3000 - # command: sleep infinity - command: ./entrypoint.sh - # depends_on: - # pocketbase: - # condition: service_healthy - # healthcheck: - # #optional (recommended) since v0.10.0 - # test: wget --no-verbose --tries=1 --spider http://localhost:3000 || exit 1 - # interval: 5s - # timeout: 5s - # retries: 5 + # ionic_mobile: + # # image: node:20-bullseye-slim + # image: 192.168.10.61:5000/demo_ionic_mobile + # build: ../ionic_mobile + # # user: 1000:1000 + # env_file: + # - .env + # volumes: + # - ../ionic_mobile:/app + # ports: + # - 5173:5173 + # - 8081:8080 + # working_dir: /app + # command: /app/scripts/docker/entrypoint.sh + # depends_on: + # pocketbase: + # condition: service_healthy + # healthcheck: + # #optional (recommended) since v0.10.0 + # test: wget --no-verbose --tries=1 --spider http://localhost:5173 || exit 1 + # interval: 5s + # timeout: 5s + # retries: 5 - deploy: - resources: - limits: - cpus: 0.5 - reservations: - cpus: 0.01 + # deploy: + # resources: + # limits: + # cpus: '0.5' + # reservations: + # cpus: '0.01'