@@ -0,0 +1,8 @@
+FROM node:lts-alpine
+
+RUN mkdir -p /home/node/app && chown node:node /home/node/app
+WORKDIR /home/node/app
+USER node
+EXPOSE 8080
+CMD ["npm", "run", "dev"]
@@ -9,4 +9,4 @@ RUN npm install
COPY --chown=node:node . .
EXPOSE 8080
-CMD ["node", "src/index.js"]
+CMD ["npm", "run", "start"]
@@ -1,9 +1,21 @@
services:
- web:
- build: .
+ prod:
+ build:
+ dockerfile: Dockerfile.production
restart: always
ports:
- 8080:5000
+ profiles: [prod]
+ dev:
+ dockerfile: Dockerfile.development
+ restart: always
+ ports:
+ - 8080:5000
+ volumes:
+ - .:/home/node/app
+ profiles: [dev]
adminer:
image: adminer
@@ -15,7 +27,10 @@ services:
image: "postgres:alpine"
shm_size: 128mb
- ports:
- - 5432:5432
+ - postgres_data:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: change-me
+volumes:
+ postgres_data:
@@ -10,7 +10,6 @@ const passport = require("passport");
const session = require("express-session");
const pgSession = require("connect-pg-simple")(session);
-const db = require("./db");
const indexRouter = require("./routes/index");
const authRouter = require("./routes/auth");
@@ -20,7 +20,7 @@ passport.use(new LocalStrategy(async (username, password, cb) => {
return cb(null, data);
});
}).catch(err => {
- return cb(err);
+ return cb(null);
}));