dashboard docker

This commit is contained in:
Emily
2024-06-26 15:29:04 +02:00
parent 9a2cde0954
commit c2eb68ee44
4 changed files with 83 additions and 16 deletions

View File

@@ -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

View File

@@ -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" ]

View File

@@ -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",

View File

@@ -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: