mirror of
https://github.com/Litlyx/litlyx
synced 2025-12-09 23:48:36 +01:00
dashboard docker
This commit is contained in:
@@ -18,7 +18,19 @@ producer/.gitignore
|
|||||||
producer/dist
|
producer/dist
|
||||||
|
|
||||||
# Dashboard
|
# Dashboard
|
||||||
dashboard/*
|
dashboard/node_modules
|
||||||
|
dashboard/.nuxt
|
||||||
|
dashboard/.output
|
||||||
|
dashboard/tests
|
||||||
|
dashboard/.env.example
|
||||||
|
dashboard/.env
|
||||||
|
dashboard/.gitignore
|
||||||
|
dashboard/ecosystem.config.cjs
|
||||||
|
dashboard/out.pdf
|
||||||
|
dashboard/timeline.report.txt
|
||||||
|
dashboard/Dockerfile
|
||||||
|
dashboard/vitest.config.ts
|
||||||
|
dashboard/vitest.setup.ts
|
||||||
|
|
||||||
# Shared
|
# Shared
|
||||||
shared/node_modules
|
shared/node_modules
|
||||||
|
|||||||
@@ -1,7 +1,31 @@
|
|||||||
FROM node:21-alpine
|
ARG NODE_VERSION=21
|
||||||
|
|
||||||
|
FROM node:${NODE_VERSION}-alpine as base
|
||||||
|
|
||||||
|
ENV NODE_ENV=production
|
||||||
|
|
||||||
|
# Build stage
|
||||||
|
|
||||||
WORKDIR /home/app
|
WORKDIR /home/app
|
||||||
COPY package.json pnpm-lock.yaml ./
|
|
||||||
RUN npm install -g pnpm && pnpm install --prod --frozen-lockfile
|
FROM base as build
|
||||||
COPY ./.output /home/app/dist
|
|
||||||
|
COPY --link dashboard/package.json dashboard/pnpm-lock.yaml ./
|
||||||
|
RUN npm install --production=false
|
||||||
|
|
||||||
|
COPY --link dashboard/ ./
|
||||||
|
|
||||||
|
COPY --link shared/ /home/shared
|
||||||
|
|
||||||
|
RUN npm run build
|
||||||
|
RUN npm prune
|
||||||
|
|
||||||
|
# Final stage
|
||||||
|
|
||||||
|
FROM base
|
||||||
|
|
||||||
|
COPY --from=build /home/app /home/app
|
||||||
|
|
||||||
EXPOSE ${PORT}
|
EXPOSE ${PORT}
|
||||||
CMD ["node", "dist/server/index.mjs"]
|
|
||||||
|
CMD [ "node", "/home/app/.output/server/index.mjs" ]
|
||||||
@@ -9,7 +9,8 @@
|
|||||||
"preview": "nuxt preview",
|
"preview": "nuxt preview",
|
||||||
"postinstall": "nuxt prepare",
|
"postinstall": "nuxt prepare",
|
||||||
"test": "vitest",
|
"test": "vitest",
|
||||||
"docker-build": "pnpm run build && docker build -t litlyx-dashboard ."
|
"docker-build": "docker build -t litlyx-dashboard -f Dockerfile ../",
|
||||||
|
"docker-inspect": "docker run -it litlyx-dashboard sh"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@nuxtjs/tailwindcss": "^6.12.0",
|
"@nuxtjs/tailwindcss": "^6.12.0",
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ services:
|
|||||||
MONGO_INITDB_ROOT_PASSWORD: litlyx
|
MONGO_INITDB_ROOT_PASSWORD: litlyx
|
||||||
ports:
|
ports:
|
||||||
- 27017:27017
|
- 27017:27017
|
||||||
|
volumes:
|
||||||
|
- mongo-data:/data/db
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
image: redis:alpine
|
image: redis:alpine
|
||||||
@@ -20,9 +22,9 @@ services:
|
|||||||
image: litlyx-producer:latest
|
image: litlyx-producer:latest
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
- "3000:3000"
|
- "3099:3099"
|
||||||
environment:
|
environment:
|
||||||
PORT: "3000"
|
PORT: "3099"
|
||||||
REDIS_URL: "redis://cache"
|
REDIS_URL: "redis://cache"
|
||||||
REDIS_USERNAME: "default"
|
REDIS_USERNAME: "default"
|
||||||
REDIS_PASSWORD: "litlyx"
|
REDIS_PASSWORD: "litlyx"
|
||||||
@@ -45,10 +47,38 @@ services:
|
|||||||
REDIS_PASSWORD: "litlyx"
|
REDIS_PASSWORD: "litlyx"
|
||||||
STREAM_NAME: "lib-events"
|
STREAM_NAME: "lib-events"
|
||||||
|
|
||||||
# dashboard:
|
dashboard:
|
||||||
# image: litlyx-dashboard:latest
|
image: litlyx-dashboard:latest
|
||||||
# restart: always
|
restart: always
|
||||||
# ports:
|
ports:
|
||||||
# - "80:80"
|
- "3000:3000"
|
||||||
# environment:
|
environment:
|
||||||
# PORT: "80"
|
NUXT_PORT: "3000"
|
||||||
|
NUXT_MONGO_CONNECTION_STRING: 'mongodb://litlyx:litlyx@mongo:27017/SimpleMetrics?readPreference=primaryPreferred&authSource=admin'
|
||||||
|
|
||||||
|
NUXT_REDIS_URL: "redis://cache"
|
||||||
|
NUXT_REDIS_USERNAME: "default"
|
||||||
|
NUXT_REDIS_PASSWORD: "litlyx"
|
||||||
|
|
||||||
|
NUXT_AI_ORG: 'OPEN_AI_ORGANIZATION'
|
||||||
|
NUXT_AI_PROJECT: 'OPEN_AI_PROJECT'
|
||||||
|
NUXT_AI_KEY: 'OPEN_AI_KEY'
|
||||||
|
|
||||||
|
# NUXT_EMAIL_SERVICE: ""
|
||||||
|
# NUXT_EMAIL_HOST: ""
|
||||||
|
# NUXT_EMAIL_USER: ""
|
||||||
|
# NUXT_EMAIL_PASS: ""
|
||||||
|
|
||||||
|
NUXT_AUTH_JWT_SECRET: "litlyx_jwt_secret"
|
||||||
|
|
||||||
|
NUXT_GOOGLE_AUTH_CLIENT_ID: "GOOGLE_AUTH_CLIENT_ID"
|
||||||
|
NUXT_GOOGLE_AUTH_CLIENT_SECRET: "GOOGLE_AUTH_CLIENT_SECRET"
|
||||||
|
|
||||||
|
NUXT_STRIPE_SECRET_TEST: "STRIPE_SECRET_TEST"
|
||||||
|
NUXT_STRIPE_WH_SECRET_TEST: "STRIPE_WEBHOOK_SECRET_TEST"
|
||||||
|
|
||||||
|
NUXT_STRIPE_SECRET: "STRIPE_SECRET"
|
||||||
|
NUXT_STRIPE_WH_SECRET: "STRIPE_WEBHOOK_SECRET"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
mongo-data:
|
||||||
|
|||||||
Reference in New Issue
Block a user