Parcourir la source

Added Dockerfile with alpine base (#1211)

Co-authored-by: Babur Ayanlar <[email protected]>
baa-ableton il y a 3 ans
Parent
commit
1ad0d6ee33
3 fichiers modifiés avec 50 ajouts et 0 suppressions
  1. 3 0
      .dockerignore
  2. 27 0
      Dockerfile
  3. 20 0
      README.md

+ 3 - 0
.dockerignore

@@ -0,0 +1,3 @@
+demo/
+.git/
+.github/

+ 27 - 0
Dockerfile

@@ -0,0 +1,27 @@
+FROM ruby:2.7-alpine
+
+RUN apk add --no-cache nodejs npm && \
+    apk add --no-cache --virtual build-dependencies build-base
+
+WORKDIR /app
+
+ADD package.json /app/
+ADD package-lock.json /app/
+ADD package.json /app/
+ADD Gemfile /app/
+ADD Gemfile.lock /app/
+ADD _config.yml /app/
+ADD gulpfile.js /app/
+
+# RUN apk update && apk add --virtual build-dependencies build-base
+RUN npm install
+RUN bundle config --global silence_root_warning 1 && bundler install --verbose
+
+# website
+EXPOSE 3000
+
+# website management (browser auto reload)
+EXPOSE 3001
+
+# run tabler
+ENTRYPOINT [ "npm", "run", "start-plugins" ]

+ 20 - 0
README.md

@@ -123,6 +123,26 @@ Tabler is distributed via npm.
 npm install --save @tabler/core
 ```
 
+## Running with Docker
+
+If you don't want to install node/npm/ruby and the dependencies on your local environment, you can use the provided Dockerfile to build a docker image.
+This Dockerfile is provided as an example to spin-up a container running Tabler.
+
+Example of how to use this image:
+
+1. Build the tabler image : `docker build -t tabler .`
+2. Run the tabler image while mounting the `src` directory as well as the `_config.yml` file into the container.
+
+Don't forget to expose the port 3000 so you can browse the website locally.
+You can also expose the port 3001 to have access to BrowserSync
+
+```sh
+docker run -p 3000:3000 -p 3001:3001 -v $(pwd)/src:/app/src -v $(pwd)/_config.yml:/app/_config.yml tabler
+```
+
+Now open your browser to [http://localhost:3000](http://localhost:3000). Edit anything in the `src/` folder and watch your browser refresh the page after it has been rebuilt.
+
+
 ### CDN support
 
 All files included in `@tabler/core` npm package are available over a CDN.