Minimal Node.js Express API

Goal

Create a minimal Express API server and run it locally or in Docker.

Setup

npm init
npm install express

Server

Create server.js:

// ./server.js
const express = require('express');
const app = express();

app.get('/', (req, res) => {
    res.send({ message: "I'm here"});
});

app.listen(3000, () => console.log('Listening on port 3000!'));

Run it:

node server.js

Test it:

curl localhost:3000

Docker

Create Dockerfile:

## ./Dockerfile
FROM node
WORKDIR /usr/src/app

COPY package*.json ./
RUN npm install

COPY . .
EXPOSE 3000
CMD ["node", "server.js"]

Build and run:

docker build -t node-server .
docker run -p 3000:3000 node-server

Test it:

curl localhost:3000