Add Docker Compose stuff

This commit is contained in:
WaveHack
2021-02-03 21:04:45 +01:00
parent e33585c936
commit 0e11bc28b6
5 changed files with 58 additions and 3 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
WEB_PORT=3100 WEB_PORT=3100
DB_HOSTNAME=127.0.0.1 DB_HOSTNAME=database
DB_DATABASE=news DB_DATABASE=news
DB_USERNAME=news DB_USERNAME=news
DB_PASSWORD=charizard DB_PASSWORD=charizard
+18
View File
@@ -0,0 +1,18 @@
FROM node:15
# Change working directory
WORKDIR "/app"
# Copy package.json and package-lock.json
COPY package*.json ./
# Install npm production packages
RUN npm install --production
COPY . /app
EXPOSE 3100
USER node
ENTRYPOINT ["npm", "start"]
+37
View File
@@ -0,0 +1,37 @@
version: '3'
services:
app:
build:
context: .
environment:
DB_HOSTNAME: database
DB_DATABASE: news
DB_USERNAME: news
DB_PASSWORD: charizard
DB_TIMEZONE: Australia/Sydney
networks:
- app-network
ports:
- "3100:3100"
database:
image: mariadb:latest
environment:
MYSQL_DATABASE: news
MYSQL_USER: news
MYSQL_PASSWORD: charizard
MYSQL_ROOT_PASSWORD: root
networks:
- app-network
volumes:
- db-data:/var/lib/mysql
networks:
app-network:
driver: bridge
volumes:
db-data:
driver: local
+1 -1
View File
@@ -4,7 +4,7 @@
"description": "An API centric news server. Uses Sequelize and mariaDB by default.", "description": "An API centric news server. Uses Sequelize and mariaDB by default.",
"main": "server/server.js", "main": "server/server.js",
"scripts": { "scripts": {
"start": "pm2 start server/server.js --watch", "start": "node server/server.js",
"dev": "npm run watch:server", "dev": "npm run watch:server",
"watch:server": "nodemon . --ext js,jsx,json --ignore 'node_modules/*'" "watch:server": "nodemon . --ext js,jsx,json --ignore 'node_modules/*'"
}, },
+1 -1
View File
@@ -1,7 +1,7 @@
const Sequelize = require('sequelize'); const Sequelize = require('sequelize');
const sequelize = new Sequelize(process.env.DB_DATABASE, process.env.DB_USERNAME, process.env.DB_PASSWORD, { const sequelize = new Sequelize(process.env.DB_DATABASE, process.env.DB_USERNAME, process.env.DB_PASSWORD, {
host: process.env.DB_HOSTADDR, host: process.env.DB_HOSTNAME,
dialect: 'mariadb', dialect: 'mariadb',
timezone: process.env.DB_TIMEZONE, timezone: process.env.DB_TIMEZONE,
logging: false logging: false