diff --git a/.env b/.env index 926953d..7a87b18 100644 --- a/.env +++ b/.env @@ -11,7 +11,7 @@ NEXT_PUBLIC_AUDIO_SERVICE_URL="https://tts.waternetwork.cn" NEXT_PUBLIC_MAP_URL="https://geoserver.waternetwork.cn/geoserver" NEXT_PUBLIC_MAP_WORKSPACE="tjwater" NEXT_PUBLIC_MAP_EXTENT="13490131, 3630016, 13525879, 3666968.25" -# NEXT_PUBLIC_MAP_AVAILABLE_LAYERS="junctions, pipes, reservoirs, scada" NEXT_PUBLIC_NETWORK_NAME="tjwater" NEXT_PUBLIC_MAPBOX_TOKEN="pk.eyJ1IjoiemhpZnUiLCJhIjoiY205azNyNGY1MGkyZDJxcTJleDUwaHV1ZCJ9.wOmSdOnDDdre-mB1Lpy6Fg" NEXT_PUBLIC_TIANDITU_TOKEN="e3e8ad95ee911741fa71ed7bff2717ec" +NEXT_PUBLIC_API_URL="https://server.waternetwork.cn" diff --git a/.gitea/workflows/package.yml b/.gitea/workflows/package.yml index 5383db3..6a397c8 100644 --- a/.gitea/workflows/package.yml +++ b/.gitea/workflows/package.yml @@ -36,12 +36,15 @@ jobs: ${{ secrets.REGISTRY_HOST }}/${{ github.repository }}:latest build-args: | NEXT_PUBLIC_BACKEND_URL=${{ secrets.NEXT_PUBLIC_BACKEND_URL }} + NEXT_PUBLIC_COPILOT_URL=${{ secrets.NEXT_PUBLIC_COPILOT_URL }} + NEXT_PUBLIC_AUDIO_SERVICE_URL=${{ secrets.NEXT_PUBLIC_AUDIO_SERVICE_URL }} NEXT_PUBLIC_MAP_URL=${{ secrets.NEXT_PUBLIC_MAP_URL }} NEXT_PUBLIC_MAP_WORKSPACE=${{ secrets.NEXT_PUBLIC_MAP_WORKSPACE }} NEXT_PUBLIC_MAP_EXTENT=${{ secrets.NEXT_PUBLIC_MAP_EXTENT }} NEXT_PUBLIC_NETWORK_NAME=${{ secrets.NEXT_PUBLIC_NETWORK_NAME }} NEXT_PUBLIC_MAPBOX_TOKEN=${{ secrets.NEXT_PUBLIC_MAPBOX_TOKEN }} NEXT_PUBLIC_TIANDITU_TOKEN=${{ secrets.NEXT_PUBLIC_TIANDITU_TOKEN }} + NEXT_PUBLIC_API_URL=${{ secrets.NEXT_PUBLIC_API_URL }} - name: Notify Deploy Server if: success() diff --git a/Dockerfile b/Dockerfile index d299ac4..b6a85e8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,12 +18,15 @@ FROM base AS builder # 只定义 ARG 接收来自构建命令或 docker-compose.yaml 的参数 # Next.js 在 build 时会自动读取同名的 ARG 作为环境变量 ARG NEXT_PUBLIC_BACKEND_URL +ARG NEXT_PUBLIC_COPILOT_URL +ARG NEXT_PUBLIC_AUDIO_SERVICE_URL ARG NEXT_PUBLIC_MAP_URL ARG NEXT_PUBLIC_MAP_WORKSPACE ARG NEXT_PUBLIC_MAP_EXTENT ARG NEXT_PUBLIC_NETWORK_NAME ARG NEXT_PUBLIC_MAPBOX_TOKEN ARG NEXT_PUBLIC_TIANDITU_TOKEN +ARG NEXT_PUBLIC_API_URL COPY --from=deps /app/refine/node_modules ./node_modules diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..e304802 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,34 @@ +version: "3.9" + +services: + frontend: + image: ${IMAGE_NAME:-refinedev/tjwater-frontend:latest} + build: + context: . + dockerfile: Dockerfile + args: + NEXT_PUBLIC_BACKEND_URL: ${NEXT_PUBLIC_BACKEND_URL} + NEXT_PUBLIC_COPILOT_URL: ${NEXT_PUBLIC_COPILOT_URL} + NEXT_PUBLIC_AUDIO_SERVICE_URL: ${NEXT_PUBLIC_AUDIO_SERVICE_URL} + NEXT_PUBLIC_MAP_URL: ${NEXT_PUBLIC_MAP_URL} + NEXT_PUBLIC_MAP_WORKSPACE: ${NEXT_PUBLIC_MAP_WORKSPACE} + NEXT_PUBLIC_MAP_EXTENT: ${NEXT_PUBLIC_MAP_EXTENT} + NEXT_PUBLIC_NETWORK_NAME: ${NEXT_PUBLIC_NETWORK_NAME} + NEXT_PUBLIC_MAPBOX_TOKEN: ${NEXT_PUBLIC_MAPBOX_TOKEN} + NEXT_PUBLIC_TIANDITU_TOKEN: ${NEXT_PUBLIC_TIANDITU_TOKEN} + NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL:-} + env_file: + - .env + environment: + KEYCLOAK_CLIENT_ID: ${KEYCLOAK_CLIENT_ID} + KEYCLOAK_CLIENT_SECRET: ${KEYCLOAK_CLIENT_SECRET} + KEYCLOAK_ISSUER: ${KEYCLOAK_ISSUER} + NEXTAUTH_SECRET: ${NEXTAUTH_SECRET} + NEXTAUTH_URL: ${NEXTAUTH_URL} + NODE_ENV: production + HOSTNAME: 0.0.0.0 + PORT: 3000 + ports: + - "3000:3000" + restart: unless-stopped + pull_policy: always diff --git a/src/config/config.ts b/src/config/config.ts index 9a9a256..a5bf841 100644 --- a/src/config/config.ts +++ b/src/config/config.ts @@ -23,11 +23,15 @@ export const config = { 8, // 在缩放级别 24 时,圆形半径为 8px ], }, - MAP_AVAILABLE_LAYERS: process.env.NEXT_PUBLIC_MAP_AVAILABLE_LAYERS - ? process.env.NEXT_PUBLIC_MAP_AVAILABLE_LAYERS.split(",").map((item) => - item.trim().toLowerCase(), - ) - : ["junctions", "pipes", "valves", "reservoirs", "pumps", "tanks", "scada"], + MAP_AVAILABLE_LAYERS: [ + "junctions", + "pipes", + "valves", + "reservoirs", + "pumps", + "tanks", + "scada", + ], }; export let NETWORK_NAME = process.env.NEXT_PUBLIC_NETWORK_NAME || "tjwater";