This commit is contained in:
2023-05-23 22:06:09 -04:00
parent f0c2c8d855
commit 1fa308b2a9
6 changed files with 44 additions and 19 deletions

3
.npmrc Normal file
View File

@@ -0,0 +1,3 @@
registry=https://registry.npmjs.org
@mifi:registry=https://git.mifi.dev/api/packages/mifi/npm
//git.mifi.dev/api/packages/mifi/npm/:_authToken=${NPM_TOKEN}

6
.yarnrc.build.yml Normal file
View File

@@ -0,0 +1,6 @@
nodeLinker: node-modules
npmScopes:
mifi:
npmRegistryServer: https://git.mifi.dev/api/packages/mifi/npm/
npmAuthToken: e35a182b01581790f91996594bc16e5c6a89c71c # ${NPM_TOKEN}
npmAlwaysAuth: true

View File

@@ -1,28 +1,35 @@
ARG ENV=production ARG ENV=production
ARG MONGO_VERSION=latest ARG MONGO_VERSION=latest
ARG PORT=9001 ARG PORT=9001
ARG NPM_TOKEN=not_set
ARG YARN_VERSION=3.5.0
## mongo build stage ## mongo build stage
FROM mongo:$MONGO_VERSION AS database FROM mongo:$MONGO_VERSION AS database
COPY docker-entrypoint-initdb.d/mongo-init-$MONGO_VERSION.sh ./docker-entrypoint-initdb.d/mongo-init.sh COPY docker-entrypoint-initdb.d/mongo-init-$MONGO_VERSION.sh ./docker-entrypoint-initdb.d/mongo-init.sh
## stage one, build the service ## stage one, build the service
FROM node:20-alpine AS build FROM node:20-bullseye-slim AS build
ENV YARN_VERSION $YARN_VERSION
ENV NODE_ENV development ENV NODE_ENV development
ENV NPM_TOKEN $NPM_TOKEN
WORKDIR /home/node/app WORKDIR /home/node/app
COPY package*.json ./ COPY .npmrc /root
COPY tsconfig.json ./ COPY .yarnrc.build.yml /root/.yarnrc.yml
COPY lib ./lib COPY lib package*.json tsconfig.json yarn.lock ./
RUN ls -a RUN yarn set version stable && yarn install
RUN yarn install
RUN yarn build RUN yarn build
## this is stage two , where the app actually runs ## this is stage two , where the app actually runs
FROM node:20-alpine AS containerize FROM node:20-bullseye-slim AS containerize
ENV YARN_VERSION $YARN_VERSION
ENV NODE_ENV $ENV ENV NODE_ENV $ENV
ENV NPM_TOKEN $NPM_TOKEN
WORKDIR /home/node/app WORKDIR /home/node/app
COPY package*.json ./ COPY .npmrc /root
RUN yarn install --frozen-lockfile --production COPY .yarnrc.build.yml /root/.yarnrc.yml
COPY package*.json yarn.lock ./
RUN yarn set version stable && yarn install && yarn cache clean
COPY --from=build /home/node/app/dist . COPY --from=build /home/node/app/dist .
EXPOSE $PORT EXPOSE $PORT
CMD ["node","server/index.js"] CMD ["node","server/index.js"]

View File

@@ -26,6 +26,8 @@ services:
args: args:
- PORT - PORT
- ENV - ENV
- NPM_TOKEN
- YARN_VERSION=3.5.0
container_name: ${CONTAINER_PREFIX}-auth-service container_name: ${CONTAINER_PREFIX}-auth-service
ports: ports:
- 9001:9001 - 9001:9001

View File

@@ -1,6 +1,6 @@
{ {
"name": "@mifi/auth-service", "name": "@mifi/auth-service",
"version": "1.0.1", "version": "1.0.2",
"author": "mifi (Mike Fitzpatrick)", "author": "mifi (Mike Fitzpatrick)",
"license": "MIT", "license": "MIT",
"scripts": { "scripts": {
@@ -56,8 +56,8 @@
"typescript": "^4.9.5" "typescript": "^4.9.5"
}, },
"dependencies": { "dependencies": {
"@mifi/auth-db": "^1.0.0", "@mifi/auth-db": "^1.x.x",
"@mifi/services-common": "^1.0.0", "@mifi/services-common": "^1.x.x",
"@simplewebauthn/server": "^7.2.0", "@simplewebauthn/server": "^7.2.0",
"dotenv": "^16.0.3", "dotenv": "^16.0.3",
"http-status-codes": "^2.2.0", "http-status-codes": "^2.2.0",

View File

@@ -2697,15 +2697,15 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@mifi/auth-db@npm:^1.0.0": "@mifi/auth-db@npm:^1.x.x":
version: 1.0.0 version: 1.0.2
resolution: "@mifi/auth-db@npm:1.0.0::__archiveUrl=https%3A%2F%2Fgit.mifi.dev%2Fapi%2Fpackages%2Fmifi%2Fnpm%2F%2540mifi%252Fauth-db%2F-%2F1.0.0%2Fauth-db-1.0.0.tgz" resolution: "@mifi/auth-db@npm:1.0.2::__archiveUrl=https%3A%2F%2Fgit.mifi.dev%2Fapi%2Fpackages%2Fmifi%2Fnpm%2F%2540mifi%252Fauth-db%2F-%2F1.0.2%2Fauth-db-1.0.2.tgz"
dependencies: dependencies:
"@mifi/services-common": 1.0.0 "@mifi/services-common": 1.0.0
dotenv: ^16.0.3 dotenv: ^16.0.3
jsonwebtoken: ^9.0.0 jsonwebtoken: ^9.0.0
mongoose: ^6.9.2 mongoose: ^6.9.2
checksum: cd3165c207b54995e7049db6a763e475eef2fffbc083e3d6a8e309022cc5bbf43789ab935787a3dcbfc69e9b41c94c5e6d6e0a98b81309d74ff6a6fb8c1b6e3d checksum: 4d0c725bffb0da608fe47813a18b4c6a4707c9b196f820c59794f3ab8543ae6da9879726e868a988bfe9cc8a4479c868c9ae472b9f7c3d9fffb63ea632270500
languageName: node languageName: node
linkType: hard linkType: hard
@@ -2716,8 +2716,8 @@ __metadata:
"@babel/core": ^7.21.8 "@babel/core": ^7.21.8
"@babel/preset-env": ^7.21.5 "@babel/preset-env": ^7.21.5
"@babel/preset-typescript": ^7.21.5 "@babel/preset-typescript": ^7.21.5
"@mifi/auth-db": ^1.0.0 "@mifi/auth-db": ^1.x.x
"@mifi/services-common": ^1.0.0 "@mifi/services-common": ^1.x.x
"@simplewebauthn/server": ^7.2.0 "@simplewebauthn/server": ^7.2.0
"@tsconfig/node16": ^1.0.4 "@tsconfig/node16": ^1.0.4
"@types/jest": ^29.5.1 "@types/jest": ^29.5.1
@@ -2774,13 +2774,20 @@ __metadata:
languageName: unknown languageName: unknown
linkType: soft linkType: soft
"@mifi/services-common@npm:1.0.0, @mifi/services-common@npm:^1.0.0": "@mifi/services-common@npm:1.0.0":
version: 1.0.0 version: 1.0.0
resolution: "@mifi/services-common@npm:1.0.0::__archiveUrl=https%3A%2F%2Fgit.mifi.dev%2Fapi%2Fpackages%2Fmifi%2Fnpm%2F%2540mifi%252Fservices-common%2F-%2F1.0.0%2Fservices-common-1.0.0.tgz" resolution: "@mifi/services-common@npm:1.0.0::__archiveUrl=https%3A%2F%2Fgit.mifi.dev%2Fapi%2Fpackages%2Fmifi%2Fnpm%2F%2540mifi%252Fservices-common%2F-%2F1.0.0%2Fservices-common-1.0.0.tgz"
checksum: 1ab1c697e603df26363a3b6ae77fc35ac19c34a4c43d874ec0fc113a87b2ae62a8ddc64c7d40fb7e38f69c42b0eb9a93df40905eb7fecc92c3665ef18f245bc0 checksum: 1ab1c697e603df26363a3b6ae77fc35ac19c34a4c43d874ec0fc113a87b2ae62a8ddc64c7d40fb7e38f69c42b0eb9a93df40905eb7fecc92c3665ef18f245bc0
languageName: node languageName: node
linkType: hard linkType: hard
"@mifi/services-common@npm:^1.x.x":
version: 1.0.1
resolution: "@mifi/services-common@npm:1.0.1::__archiveUrl=https%3A%2F%2Fgit.mifi.dev%2Fapi%2Fpackages%2Fmifi%2Fnpm%2F%2540mifi%252Fservices-common%2F-%2F1.0.1%2Fservices-common-1.0.1.tgz"
checksum: b8ba60584616826615bf4600dc45a0fbe390a2ff5c1a8238e0f9e016fd2ff069e4c6fd96d4d02af7eb41671436a58ab69e6017301a509a175aeff08d7b056fc2
languageName: node
linkType: hard
"@nodelib/fs.scandir@npm:2.1.5": "@nodelib/fs.scandir@npm:2.1.5":
version: 2.1.5 version: 2.1.5
resolution: "@nodelib/fs.scandir@npm:2.1.5" resolution: "@nodelib/fs.scandir@npm:2.1.5"