Compare commits
24 Commits
943ffe96d1
...
0.0.6
| Author | SHA1 | Date | |
|---|---|---|---|
|
d011f15136
|
|||
|
ee398feeb9
|
|||
|
c2d9f8be5a
|
|||
|
5f69193b81
|
|||
|
2a13a433e1
|
|||
|
b094ae2c9a
|
|||
|
e48037a7d4
|
|||
|
ecfa12154d
|
|||
|
aa2611b68d
|
|||
|
0a7bbb96c0
|
|||
|
96c7061ace
|
|||
|
6b39d138de
|
|||
|
0d3571e859
|
|||
|
2a7172ddfe
|
|||
|
97ed5f1f43
|
|||
|
0e53dd8132
|
|||
|
06c9c1d896
|
|||
|
f29b50120f
|
|||
|
cb75c651b9
|
|||
|
c83db307ad
|
|||
|
45964e4f13
|
|||
|
0e3ff90e09
|
|||
|
8031b12940
|
|||
|
9073408f6d
|
124
.drone.yml
124
.drone.yml
@@ -93,47 +93,125 @@ trigger:
|
|||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: docker
|
type: docker
|
||||||
name: Deploy Pipeline
|
name: Publish Pipeline
|
||||||
|
|
||||||
workspace:
|
workspace:
|
||||||
path: /drone/grow
|
path: /drone/grow
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: arm64
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: yarn-install
|
- name: Build Service
|
||||||
image: node
|
image: node:latest
|
||||||
commands:
|
commands:
|
||||||
- cd /app
|
|
||||||
- cp /drone/grow/package.json ./
|
- cp /drone/grow/package.json ./
|
||||||
- cp /drone/grow/yarn.lock ./
|
- cp /drone/grow/yarn.lock ./
|
||||||
- yarn install --frozen-lockfile
|
- yarn install --frozen-lockfile
|
||||||
- cp -r /drone/grow/* .
|
- cp -r /drone/grow/* .
|
||||||
- yarn build
|
- yarn build
|
||||||
|
- name: Publish NPM
|
||||||
|
image: plugins/npm
|
||||||
|
settings:
|
||||||
|
username: mifi
|
||||||
|
registry: git.mifi.dev
|
||||||
|
token:
|
||||||
|
- from_secret: gitea_token
|
||||||
|
- name: Publish Image
|
||||||
|
image: plugins/docker
|
||||||
|
settings:
|
||||||
|
auto_tag: true
|
||||||
|
squash: true
|
||||||
|
repo: git.mifi.dev/mifi/auth
|
||||||
|
registry: git.mifi.dev
|
||||||
|
ssh-agent-key:
|
||||||
|
from_secret: gitea_token
|
||||||
volumes:
|
volumes:
|
||||||
- name: app-build-dir
|
- name: dockersock
|
||||||
path: /app-build
|
Path: /var/run/docker.sock
|
||||||
- name: Deploy Container
|
- name: dockerconfig
|
||||||
image: compose
|
Path: /.docker/config.json
|
||||||
commands:
|
- name: Send Status Notifications
|
||||||
- cd /app
|
image: plugins/webhook
|
||||||
- cp /app-build-dir/* .
|
settings:
|
||||||
- build
|
urls: https://lab.mifi.dev/hooks/ccw34hdf7tgbjmzp96nptn938r
|
||||||
- up -d
|
content_type: application/json
|
||||||
|
template: |
|
||||||
|
{
|
||||||
|
"icon_url":"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/apple/198/freezing-face_1f976.png",
|
||||||
|
"text": "[{{ repo.name }} - New tagged docker image release {{tag}} from # {{ build.number }}] Deploy {{ build.status }} {{#success build.status}}:tada:{{else}}:poop:{{/success}}",
|
||||||
|
"username":"DroneBot"
|
||||||
|
}
|
||||||
|
when:
|
||||||
|
status:
|
||||||
|
- success
|
||||||
|
- failure
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- name: app-build-dir
|
- name: dockersock
|
||||||
path: /app-build
|
path: /var/run/docker.sock
|
||||||
volumes:
|
- name: dockerconfig
|
||||||
- name: app-build-dir
|
path: /volume1/docker/labs/grow-auth/dockerconfig.json
|
||||||
temp: {}
|
|
||||||
|
depends_on:
|
||||||
|
- Build Pipeline
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
branch:
|
branch:
|
||||||
- main
|
- main
|
||||||
event:
|
event:
|
||||||
- push
|
- tag
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: Deploy Pipeline
|
||||||
|
|
||||||
|
workspace:
|
||||||
|
path: /drone/grow
|
||||||
|
|
||||||
|
# image_pull_secrets:
|
||||||
|
# - from_secret: gitea_token
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Deploy Container
|
||||||
|
image: docker
|
||||||
|
commands:
|
||||||
|
- compose build .
|
||||||
|
- compose up --wait
|
||||||
|
volumes:
|
||||||
|
- name: env
|
||||||
|
path: /.env
|
||||||
|
- name: dockersock
|
||||||
|
Path: /var/run/docker.sock
|
||||||
|
- name: dockerconfig
|
||||||
|
Path: /.docker/config.json
|
||||||
|
- name: Send Status Notifications
|
||||||
|
image: plugins/webhook
|
||||||
|
settings:
|
||||||
|
urls: https://lab.mifi.dev/hooks/ccw34hdf7tgbjmzp96nptn938r
|
||||||
|
content_type: application/json
|
||||||
|
template: |
|
||||||
|
{
|
||||||
|
"icon_url":"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/apple/198/freezing-face_1f976.png",
|
||||||
|
"text": "[{{ repo.name }} - Build # {{ build.number }}] Deploy {{ build.status }} {{#success build.status}}:tada:{{else}}:poop:{{/success}}",
|
||||||
|
"username":"DroneBot"
|
||||||
|
}
|
||||||
|
when:
|
||||||
|
status:
|
||||||
|
- success
|
||||||
|
- failure
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: env
|
||||||
|
path: /volume1/docker/labs/grow-auth/.env
|
||||||
|
- name: dockersock
|
||||||
|
path: /var/run/docker.sock
|
||||||
|
- name: dockerconfig
|
||||||
|
path: /volume1/docker/labs/grow-auth/dockerconfig.json
|
||||||
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- Build Pipeline
|
- Build Pipeline
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
branch:
|
||||||
|
- main
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
|||||||
32
Dockerfile
32
Dockerfile
@@ -1,7 +1,27 @@
|
|||||||
FROM node:latest
|
# FROM node:20-alpine AS build
|
||||||
WORKDIR /app
|
# RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app
|
||||||
COPY package.json .
|
# WORKDIR /home/node/app
|
||||||
|
# COPY package*.json .
|
||||||
|
# COPY dist/lib .
|
||||||
|
# USER node
|
||||||
|
# RUN yarn install --frozen-lockfile --production
|
||||||
|
# COPY --chown=node:node node_modules ./node_modules
|
||||||
|
# CMD ["node", "dist/lib/server/index.js"]
|
||||||
|
|
||||||
|
FROM node:20-alpine AS build
|
||||||
|
WORKDIR /home/node/app
|
||||||
|
COPY package*.json ./
|
||||||
|
COPY tsconfig.json ./
|
||||||
|
COPY lib ./lib
|
||||||
|
RUN ls -a
|
||||||
RUN yarn install
|
RUN yarn install
|
||||||
COPY . .
|
RUN yarn build:production
|
||||||
RUN yarn build
|
|
||||||
CMD ["node", "dist/lib/server/index.js"]
|
## this is stage two , where the app actually runs
|
||||||
|
FROM node:20-alpine AS containerize
|
||||||
|
WORKDIR /home/node/app
|
||||||
|
COPY package*.json ./
|
||||||
|
RUN yarn install --frozen-lockfile --production
|
||||||
|
COPY --from=0 /home/node/app/dist .
|
||||||
|
EXPOSE 80
|
||||||
|
CMD ["node","server/index.js"]
|
||||||
|
|||||||
@@ -2,29 +2,29 @@ version: '3.8'
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
auth-service_mongo:
|
auth-service_mongo:
|
||||||
container_name: ${CONTAINER_PREFIX}auth-service_mongo
|
container_name: ${CONTAINER_PREFIX}${SERVICE_NAME}_${DB_TYPE}
|
||||||
environment:
|
environment:
|
||||||
- ALLOW_EMPTY_PASSWORD=yes
|
- ALLOW_EMPTY_PASSWORD=yes
|
||||||
- MONGODB_USERNAME=${DB_USER}
|
- MONGO_INITDB_ROOT_USERNAME=${DB_USER}
|
||||||
- MONGODB_PASSWORD=${DB_PASS}
|
- MONGO_INITDB_ROOT_PASSWORD=${DB_PASS}
|
||||||
- MONGODB_DATABASE=${DB_NAME}
|
- MONGO_INITDB_DATABASE=${DB_NAME}
|
||||||
networks:
|
networks:
|
||||||
- docknet
|
- docknet
|
||||||
volumes:
|
volumes:
|
||||||
- '/volume1/docker/labs/grow-auth/mongo:/data/db'
|
- '/volume1/docker/labs/grow-auth/mongo:/data/db'
|
||||||
- '/Volume1/docker/labs/grow-auth/.env:./.env'
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
image: mongo
|
image: mongo
|
||||||
auth-service:
|
auth-service:
|
||||||
container_name: ${CONTAINER_PREFIX}auth-service
|
build: .
|
||||||
|
container_name: ${CONTAINER_PREFIX}-${SERVICE_NAME}
|
||||||
environment:
|
environment:
|
||||||
- PORT=${PORT}
|
- PORT=${PORT}
|
||||||
- ROUTE_PREFIX=${ROUTE_PREFIX}
|
- ROUTE_PREFIX=${ROUTE_PREFIX}
|
||||||
- LOGIN_ROUTE=${LOGIN_ROUTE}
|
- LOGIN_ROUTE=${LOGIN_ROUTE}
|
||||||
- RESET_ROUTE=${RESET_ROUTE}
|
- RESET_ROUTE=${RESET_ROUTE}
|
||||||
- DB_HOST=${CONTAINER_PREFIX}auth-service_mongo
|
- DB_HOST=${CONTAINER_PREFIX}-${SERVICE_NAME}_${DB_TYPE}
|
||||||
- DB_USER=${DB_USER}
|
- DB_USER=${DB_USER}
|
||||||
- DB_PASSWORD=${DB_PASS}
|
- DB_PASS=${DB_PASS}
|
||||||
- DB_NAME=${DB_NAME}
|
- DB_NAME=${DB_NAME}
|
||||||
- SESSION_KEY=${SESSION_KEY}
|
- SESSION_KEY=${SESSION_KEY}
|
||||||
- JWT_AUDIENCE=${JWT_AUDIENCE}
|
- JWT_AUDIENCE=${JWT_AUDIENCE}
|
||||||
@@ -45,8 +45,8 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- docknet
|
- docknet
|
||||||
volumes:
|
volumes:
|
||||||
- '/Volume1/docker/.yarnrc.yml:./.yarnrc.yml'
|
- '/Volume1/docker/.yarnrc.yml:/.yarnrc.yml'
|
||||||
- '/Volume1/docker/labs/grow-auth/.env:./.env'
|
- '/Volume1/docker/labs/grow-auth/.env:/.env'
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
image: node
|
image: node
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
{
|
{
|
||||||
"name": "@mifi/auth",
|
"name": "@mifi/auth",
|
||||||
"version": "0.0.2",
|
"version": "0.0.6",
|
||||||
"author": "mifi (Mike Fitzpatrick)",
|
"author": "mifi (Mike Fitzpatrick)",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsc",
|
"build": "tsc",
|
||||||
|
"build:production": "tsc -p .",
|
||||||
"format": "prettier:fix && lint:fix",
|
"format": "prettier:fix && lint:fix",
|
||||||
"lint": "eslint --ext .ts,.tsx lib/",
|
"lint": "eslint --ext .ts,.tsx lib/",
|
||||||
"lint:fix": "eslint --fix --ext .ts,.tsx lib/",
|
"lint:fix": "eslint --fix --ext .ts,.tsx lib/",
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
"emitDecoratorMetadata": true,
|
"emitDecoratorMetadata": true,
|
||||||
"noImplicitAny": true,
|
"noImplicitAny": true,
|
||||||
"outDir": "./dist/",
|
"outDir": "./dist/",
|
||||||
"rootDirs": ["lib", "../"],
|
"rootDirs": ["lib"],
|
||||||
"sourceMap": true
|
"sourceMap": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user