Skip to content

Commit 65c970e

Browse files
committed
initial docker support with local storage
1 parent 253b68b commit 65c970e

File tree

6 files changed

+61
-0
lines changed

6 files changed

+61
-0
lines changed

Dockerfile

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
FROM mhart/alpine-node
2+
3+
COPY . docker/config.json /app/
4+
5+
ENV PORT="1999"
6+
7+
RUN mkdir /data \
8+
&& cd /app \
9+
&& npm install
10+
11+
EXPOSE 1999 2000
12+
13+
WORKDIR /app
14+
15+
CMD ["node", "storage.js"]

docker/README.md

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Build
2+
3+
./docker/build.sh
4+
5+
Docker image exposes port 1999 and 2000.
6+
7+
# Run
8+
9+
./docker/run.sh
10+
11+
Default run script requires following environment variables to be defined:
12+
13+
* `NODESTORAGE_DOMAIN` - host domain (like `1999.example.com:1999`)
14+
* `NODESTORAGE_TWITTER_APPKEY` - Twitter app key
15+
* `NODESTORAGE_TWITTER_SECRET` - Twitter app secret
16+
17+
Default ports are 1999 (HTTP) and 2000 (WebSockets)

docker/bash.sh

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
docker exec -it nodestorage /bin/bash

docker/build.sh

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/bin/bash
2+
3+
PACKAGE_VERSION=$(grep -m1 version package.json | awk -F: '{ print $2 }' | sed 's/[", ]//g')
4+
5+
docker build -t nodestorage:$PACKAGE_VERSION .

docker/config.json

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"myPort": 1999,
3+
"websocketPort": 2000,
4+
"where": {
5+
"flUseLocalFilesystem": true,
6+
"privatePath": "/data/privateFiles/",
7+
"publicPath": "/data/publicFiles/"
8+
},
9+
"updates": {
10+
"enabled": false
11+
}
12+
}

docker/run.sh

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/bash
2+
3+
PACKAGE_VERSION=$(grep -m1 version package.json | awk -F: '{ print $2 }' | sed 's/[", ]//g')
4+
5+
docker run -p 1999:1999 -p 2000:2000 --name nodestorage -d --restart=unless-stopped \
6+
-e "myDomain=${NODESTORAGE_DOMAIN}" \
7+
-e "twitterConsumerKey=${NODESTORAGE_TWITTER_APPKEY}" \
8+
-e "twitterConsumerSecret=${NODESTORAGE_TWITTER_SECRET}" \
9+
nodestorage:$PACKAGE_VERSION

0 commit comments

Comments
 (0)