diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..5171c54 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,2 @@ +node_modules +npm-debug.log \ No newline at end of file diff --git a/.gitignore b/.gitignore index dc7b278..566b5a0 100755 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ node_modules/ npm-debug.log -config.json store.json .DS_Store +config.json diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4fdab96 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +FROM alpine:latest + +RUN mkdir -p /usr/src/ +#Install Software +RUN apk add --update nodejs npm git + +RUN cd /usr/src && git clone https://github.com/orangecoding/fredy.git + +RUN ln -s /usr/src/fredy/conf/ /conf + +RUN cd /usr/src/fredy/ && npm install + +WORKDIR /usr/src/fredy + +EXPOSE 9876 + +VOLUME [ "/conf" ] +# --no-daemon is required for keeping Container alive +CMD node index.js --no-daemon \ No newline at end of file diff --git a/README.md b/README.md index a909e8d..990ffe2 100755 --- a/README.md +++ b/README.md @@ -145,3 +145,22 @@ You can call the stats http endpoint like this: curl http://localhost:9876 ``` The ports is depending on what you've configured in your config file. + +# Docker + +Use the Dockerfile in this Repo to build a Image + +Ex: docker build -t fredy/fredy /path/to/your/Dockerfile + +## Create & Run a Container + +Put your config.json to /path/to/your/conf/ + +Ex: docker create --name fredy -v /path/to/your/conf/:/conf -p 9876:9876 fredy/fredy + +## Logs + +You can browse Logs with + +docker logs fredy -f +