diff --git a/.drone.yml b/.drone.yml index 2b39f4a..e62ba2b 100644 --- a/.drone.yml +++ b/.drone.yml @@ -169,10 +169,10 @@ steps: ROUTE_PREFIX: /auth PORT: 9001 commands: - - docker compose -f docker-compose.staging_image.yml pull - - docker compose -f docker-compose.staging_image.yml build --no-cache - - docker compose -f docker-compose.staging_image.yml rm --stop - - docker compose -f docker-compose.staging_image.yml up --wait + - docker compose -f docker-compose.staging-image.yml pull + - docker compose -f docker-compose.staging-image.yml build --no-cache + - docker compose -f docker-compose.staging-image.yml rm --stop + - docker compose -f docker-compose.staging-image.yml up --wait volumes: - name: env-secrets path: /drone/grow/staging.env diff --git a/.env.dev b/.env.dev index ed262b2..b4ca1a3 100644 --- a/.env.dev +++ b/.env.dev @@ -27,3 +27,5 @@ RESET_VALID_MINUTES=15 DEFAULT_TOKEN_DAYS=1 CONTAINER_PREFIX=dev +SERVICE_NAME=auth-service +ENV=development diff --git a/Dockerfile b/Dockerfile index b5e76cb..82ff5cc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,5 @@ FROM node:20-alpine AS build +ENV NODE_ENV development WORKDIR /home/node/app COPY package*.json ./ COPY tsconfig.json ./ @@ -14,5 +15,5 @@ WORKDIR /home/node/app COPY package*.json ./ RUN yarn install --frozen-lockfile --production COPY --from=0 /home/node/app/dist . -EXPOSE ${PORT} +EXPOSE ${PORT:-9001} CMD ["node","server/index.js"] diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 2d5df4c..be2c7a3 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -3,16 +3,13 @@ version: '3.8' services: auth-service_mongo: env_file: .env.dev - build: - args: - - CONTAINER_PREFIX=${CONTAINER_PREFIX} container_name: ${CONTAINER_PREFIX:-dev}-auth-service_mongo ports: - 27017:27017 networks: - - labs-net + - backend volumes: - - /var/tmp/labs:/data/db + - auth-db:/data - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro restart: unless-stopped image: mongo:latest @@ -21,10 +18,8 @@ services: build: context: . args: - - HOST=${HOST} - - PORT=${PORT} - - ROUTE_PREFIX=${ROUTE_PREFIX} - - CONTAINER_PREFIX=${CONTAINER_PREFIX} + - PORT + - ENV container_name: ${CONTAINER_PREFIX:-dev}-auth-service ports: - 9001:9001 @@ -32,6 +27,7 @@ services: - DB_HOST=${CONTAINER_PREFIX:-dev}-auth-service_mongo networks: - labs-net + - backend restart: unless-stopped image: node:20-alpine depends_on: @@ -39,3 +35,7 @@ services: networks: labs-net: name: labs-net + +volumes: + auth-db: + external: true diff --git a/docker-compose.staging.yml b/docker-compose.staging-build.yml similarity index 66% rename from docker-compose.staging.yml rename to docker-compose.staging-build.yml index a6caca2..427b6de 100644 --- a/docker-compose.staging.yml +++ b/docker-compose.staging-build.yml @@ -2,23 +2,27 @@ version: '3.8' services: auth-service_mongo: - container_name: ${CONTAINER_PREFIX}-auth-service_mongo + container_name: ${CONTAINER_PREFIX:-staging}-auth-service_mongo env_file: - staging.env networks: - docknet volumes: - - '/volume1/docker/labs/auth/mongo:/data/db' - # - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro + - 'auth-db:/data' + - './mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro' restart: unless-stopped image: mongo:latest auth-service: env_file: - staging.env - build: . - container_name: ${CONTAINER_PREFIX}-auth-service + build: + context: . + args: + - PORT + - ENV + container_name: ${CONTAINER_PREFIX:-staging}-auth-service environment: - - DB_HOST=${CONTAINER_PREFIX}-auth-service_mongo + - DB_HOST=${CONTAINER_PREFIX:-staging}-auth-service_mongo labels: - 'traefik.enable=true' - 'traefik.http.routers.grow.rule=Host(`${HOST}`) && Path(`${ROUTE_PREFIX}`)' @@ -36,4 +40,8 @@ services: networks: docknet: name: docknet - external: true \ No newline at end of file + external: true + +volumes: + auth-db: + external: false diff --git a/docker-compose.staging_image.yml b/docker-compose.staging-image.yml similarity index 72% rename from docker-compose.staging_image.yml rename to docker-compose.staging-image.yml index 0a61e98..17061ac 100644 --- a/docker-compose.staging_image.yml +++ b/docker-compose.staging-image.yml @@ -2,22 +2,22 @@ version: '3.8' services: auth-service_mongo: - container_name: ${CONTAINER_PREFIX}-auth-service_mongo + container_name: ${CONTAINER_PREFIX:-staging}-auth-service_mongo env_file: - staging.env networks: - docknet volumes: - - '/volume1/docker/labs/auth/mongo:/data/db' - # - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro + - auth-db:/data + - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro restart: unless-stopped image: mongo:latest auth-service: env_file: - staging.env - container_name: ${CONTAINER_PREFIX}-auth-service + container_name: ${CONTAINER_PREFIX:-staging}-auth-service environment: - - DB_HOST=${CONTAINER_PREFIX}-auth-service_mongo + - DB_HOST=${CONTAINER_PREFIX:-staging}-auth-service_mongo labels: - 'traefik.enable=true' - 'traefik.http.routers.grow.rule=Host(`${HOST}`) && Path(`${ROUTE_PREFIX}`)' @@ -32,7 +32,12 @@ services: image: git.mifi.dev/mifi/mifi/auth:latest depends_on: - auth-service_mongo + networks: docknet: name: docknet - external: true \ No newline at end of file + external: true + +volumes: + auth-db: + external: false diff --git a/lib/constants/db.ts b/lib/constants/db.ts index 702dc6f..dea26e8 100644 --- a/lib/constants/db.ts +++ b/lib/constants/db.ts @@ -1,5 +1,5 @@ -export const DB_HOST = process.env.DB_HOST || 'not_set'; +export const DB_HOST = process.env.DB_HOST; export const DB_PORT = process.env.DB_PORT || 27017; -export const DB_USERNAME = process.env.DB_USERNAME || 'not_set'; -export const DB_PASSWORD = process.env.DB_PASSWORD || 'not_set'; -export const DB_NAME = process.env.DB_NAME || 'not_set'; +export const DB_USERNAME = process.env.DB_USERNAME; +export const DB_PASSWORD = process.env.DB_PASSWORD; +export const DB_NAME = process.env.DB_NAME; diff --git a/lib/server/index.ts b/lib/server/index.ts index f54676e..4db2be5 100644 --- a/lib/server/index.ts +++ b/lib/server/index.ts @@ -5,7 +5,7 @@ import { PORT } from '../constants/env'; connection.then( () => { app.listen(PORT); - console.log('LISTENING', process.env); + console.debug('Server up and listening', { env: process.env }); }, - (err) => console.error('SERVER ERROR!', { err, env: process.env }), + (err) => console.error('Could not reach database', { err, env: process.env }), ); diff --git a/package.json b/package.json index a1164fe..9580319 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mifi/auth", - "version": "0.0.37", + "version": "0.0.38", "author": "mifi (Mike Fitzpatrick)", "license": "MIT", "scripts": {