A stab at deploying
Some checks failed
continuous-integration/drone/push Build was killed

This commit is contained in:
2023-05-03 15:00:10 -04:00
parent 32bfbd7adc
commit 51b3d2c7c6
6 changed files with 104 additions and 2 deletions

View File

@@ -89,3 +89,39 @@ trigger:
- main
event:
- push
---
kind: pipeline
type: docker
name: Deploy Pipeline
platform:
os: linux
arch: arm64
steps:
- name: yarn-install
image: node
commands:
- cd /app
- cp /drone/src/package.json ./
- cp /drone/src/yarn.lock ./
- yarn install --frozen-lockfile
- cp -r /drone/src/* .
- yarn build
volumes:
- name: app-build-dir
path: /app-build
- name: Deploy Container
image: compose
commands:
- cd /app
- cp /app-build-dir/* .
- build
- up -d
volumes:
- name: app-build-dir
path: /app-build
volumes:
- name: app-build-dir
temp: {}

7
Dockerfile Normal file
View File

@@ -0,0 +1,7 @@
FROM node:latest
WORKDIR /app
COPY package.json .
RUN yarn install
COPY . .
RUN yarn build
CMD ["node", "dist/lib/server/index.js"]

56
docker-compose.yml Normal file
View File

@@ -0,0 +1,56 @@
version: '3.8'
services:
auth-service_mongo:
container_name: ${CONTAINER_PREFIX}auth-service_mongo
environment:
- ALLOW_EMPTY_PASSWORD=yes
- MONGODB_USERNAME=${DB_USER}
- MONGODB_PASSWORD=${DB_PASS}
- MONGODB_DATABASE=${DB_NAME}
networks:
- docknet
volumes:
- '/volume1/docker/labs/grow-auth/mongo:/data/db'
- '/Volume1/docker/labs/grow-auth/.env:./.env'
restart: unless-stopped
image: mongo
auth-service:
container_name: ${CONTAINER_PREFIX}auth-service
environment:
- PORT=${PORT}
- ROUTE_PREFIX=${ROUTE_PREFIX}
- LOGIN_ROUTE=${LOGIN_ROUTE}
- RESET_ROUTE=${RESET_ROUTE}
- DB_HOST=${CONTAINER_PREFIX}auth-service_mongo
- DB_USER=${DB_USER}
- DB_PASSWORD=${DB_PASS}
- DB_NAME=${DB_NAME}
- SESSION_KEY=${SESSION_KEY}
- JWT_AUDIENCE=${JWT_AUDIENCE}
- JWT_ISSUER=${JWT_ISSUER}
- JWT_SECRET=${JWT_SECRET}
- LOGIN_VALID_TIME=${LOGIN_VALID_TIME}
- RESET_VALID_MINUTES=${RESET_VALID_MINUTES}
- DEFAULT_TOKEN_DAYS=${DEFAULT_TOKEN_DAYS}
labels:
- 'traefik.enable=true'
- 'traefik.http.routers.grow.rule=Host(`${HOST}`)'
- 'traefik.http.routers.grow.rule=Path(`${ROUTE_PREFIX}`)'
- 'traefik.http.routers.grow.entrypoints=websecure'
- 'traefik.http.routers.grow.tls=true'
- 'traefik.http.routers.grow.tls.certresolver=letsencrypt'
- 'traefik.http.routers.grow.service=gitea'
- 'traefik.http.services.gitea.loadbalancer.server.port=${PORT}'
networks:
- docknet
volumes:
- '/Volume1/docker/.yarnrc.yml:./.yarnrc.yml'
- '/Volume1/docker/labs/grow-auth/.env:./.env'
restart: unless-stopped
image: node
depends_on:
- auth-service_mongo
networks:
docknet:
name: docknet

View File

@@ -1,6 +1,8 @@
export const PACKAGE_NAME = '@mifi/latch';
export const PORT = process.env.PORT || 9000;
export const SESSION_KEY = process.env.SESSION_KEY || 'secret-key';
export const JWT_AUDIENCE = process.env.JWT_AUDIENCE || 'mifi.dev';
export const JWT_ISSUER = process.env.JWT_ISSUER || PACKAGE_NAME;
export const JWT_SECRET = process.env.JWT_SECRET || 'secret';

View File

@@ -7,6 +7,7 @@ import passport from './passport';
import { performanceLogger, perfromanceTimer } from './middleware/performance';
import { errorHandler } from './middleware/errorHandler';
import { authRouter } from './controllers/auth';
import { SESSION_KEY } from '../constants/env';
const app: Koa = new Koa();
@@ -16,7 +17,7 @@ app.use(performanceLogger);
app.use(bodyparser());
app.use(cookie());
app.keys = [process.env.SESSION_KEYS as string];
app.keys = [SESSION_KEY];
app.use(session({}, app));
app.use(passport.initialize());

View File

@@ -1,6 +1,6 @@
{
"name": "@mifi/auth",
"version": "0.0.1",
"version": "0.0.2",
"author": "mifi (Mike Fitzpatrick)",
"license": "MIT",
"scripts": {