From 97df1a82c733e452a6156d587b3946ff2a565aa1 Mon Sep 17 00:00:00 2001 From: Athurg Gooth Date: Mon, 29 May 2023 19:49:47 +0800 Subject: [PATCH] feat: add docker compose file for development (#1769) * Add support to fetch devProxyServer from environment * Add docker compose file for developer --------- Co-authored-by: Athurg Feng --- docker-compose.dev.yaml | 28 ++++++++++++++++++++++++++++ web/vite.config.ts | 6 +++++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 docker-compose.dev.yaml diff --git a/docker-compose.dev.yaml b/docker-compose.dev.yaml new file mode 100644 index 00000000..8ba6c80c --- /dev/null +++ b/docker-compose.dev.yaml @@ -0,0 +1,28 @@ +# 1.Prepare your workspace by: +# docker compose run api go install github.com/cosmtrek/air@latest +# docker compose run web npm install +# +# 2. Start you work by: +# docker compose up -d +# +# 3. Check logs by: +# docker compose logs -f +# +services: + api: + image: golang:1.19.3-alpine3.16 + working_dir: /work + command: air -c ./scripts/.air.toml + volumes: + - .:/work/ + - ./.air/go/:/go/ # Cache for go mod database + web: + image: node:18.12.1-alpine3.16 + working_dir: /work + depends_on: ["api"] + ports: ["3001:3001"] + environment: ["DEV_PROXY_SERVER=http://api:8081/"] + command: npm run dev + volumes: + - ./web:/work + - ./.air/node_modules/:/work/node_modules/ # Cache for Node Modules diff --git a/web/vite.config.ts b/web/vite.config.ts index 284dc899..003f0479 100644 --- a/web/vite.config.ts +++ b/web/vite.config.ts @@ -2,7 +2,11 @@ import { resolve } from "path"; import { defineConfig } from "vite"; import react from "@vitejs/plugin-react-swc"; -const devProxyServer = "http://localhost:8081/"; +let devProxyServer = "http://localhost:8081/"; +if (process.env.DEV_PROXY_SERVER && process.env.DEV_PROXY_SERVER.length > 0) { + console.log("Use devProxyServer from environment: ", process.env.DEV_PROXY_SERVER); + devProxyServer = process.env.DEV_PROXY_SERVER; +} // https://vitejs.dev/config/ export default defineConfig({