This commit is contained in:
36
.drone.yml
36
.drone.yml
@@ -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
7
Dockerfile
Normal 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
56
docker-compose.yml
Normal 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
|
||||
@@ -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';
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@mifi/auth",
|
||||
"version": "0.0.1",
|
||||
"version": "0.0.2",
|
||||
"author": "mifi (Mike Fitzpatrick)",
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
|
||||
Reference in New Issue
Block a user