Merge pull request #9632 from vector-im/travis/dockerfile-release
Add Dockerfile
This commit is contained in:
commit
818bab9fa4
4 changed files with 108 additions and 0 deletions
11
.dockerignore
Normal file
11
.dockerignore
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
# Exclude a bunch of stuff which can make the build context a larger than it needs to be
|
||||||
|
.git/
|
||||||
|
test/
|
||||||
|
webapp/
|
||||||
|
lib/
|
||||||
|
node_modules/
|
||||||
|
electron_app/
|
||||||
|
karma-reports/
|
||||||
|
.idea/
|
||||||
|
.tmp/
|
||||||
|
config.json*
|
31
Dockerfile
Normal file
31
Dockerfile
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
# Builder
|
||||||
|
FROM node:10-alpine as builder
|
||||||
|
|
||||||
|
# Support custom branches of the react-sdk and js-sdk. This also helps us build
|
||||||
|
# images of riot-web develop.
|
||||||
|
ARG USE_CUSTOM_SDKS=false
|
||||||
|
ARG REACT_SDK_REPO="https://github.com/matrix-org/matrix-react-sdk.git"
|
||||||
|
ARG REACT_SDK_BRANCH="master"
|
||||||
|
ARG JS_SDK_REPO="https://github.com/matrix-org/matrix-js-sdk.git"
|
||||||
|
ARG JS_SDK_BRANCH="master"
|
||||||
|
|
||||||
|
RUN apk add --no-cache git dos2unix
|
||||||
|
|
||||||
|
WORKDIR /src
|
||||||
|
|
||||||
|
COPY . /src
|
||||||
|
RUN dos2unix /src/scripts/docker-link-repos.sh && sh /src/scripts/docker-link-repos.sh
|
||||||
|
RUN yarn install
|
||||||
|
RUN yarn build
|
||||||
|
|
||||||
|
# Copy the config now so that we don't create another layer in the app image
|
||||||
|
RUN cp /src/config.sample.json /src/webapp/config.json
|
||||||
|
|
||||||
|
|
||||||
|
# App
|
||||||
|
FROM nginx:latest
|
||||||
|
|
||||||
|
COPY --from=builder /src/webapp /app
|
||||||
|
|
||||||
|
RUN rm -rf /usr/share/nginx/html \
|
||||||
|
&& ln -s /app /usr/share/nginx/html
|
36
README.md
36
README.md
|
@ -253,6 +253,42 @@ To change the config.json for the desktop app, create a config file which will b
|
||||||
|
|
||||||
In the paths above, `$NAME` is typically `Riot`, unless you use `--profile $PROFILE` in which case it becomes `Riot-$PROFILE`.
|
In the paths above, `$NAME` is typically `Riot`, unless you use `--profile $PROFILE` in which case it becomes `Riot-$PROFILE`.
|
||||||
|
|
||||||
|
Running from Docker
|
||||||
|
===================
|
||||||
|
|
||||||
|
The Docker image can be used to serve riot-web as a web server. The easiest way to use
|
||||||
|
it is to use the prebuilt image:
|
||||||
|
```bash
|
||||||
|
docker run -p 80:80 vectorim/riot-web
|
||||||
|
```
|
||||||
|
|
||||||
|
To supply your own custom `config.json`, map a volume to `/app/config.json`. For example,
|
||||||
|
if your custom config was located at `/etc/riot-web/config.json` then your Docker command
|
||||||
|
would be:
|
||||||
|
```bash
|
||||||
|
docker run -p 80:80 -v /etc/riot-web/config.json:/app/config.json vectorim/riot-web
|
||||||
|
```
|
||||||
|
|
||||||
|
To build the image yourself:
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/vector-im/riot-web.git riot-web
|
||||||
|
cd riot-web
|
||||||
|
git checkout master
|
||||||
|
docker build -t vectorim/riot-web .
|
||||||
|
```
|
||||||
|
|
||||||
|
If you're building a custom branch, or want to use the develop branch, check out the appropriate
|
||||||
|
riot-web branch and then run:
|
||||||
|
```bash
|
||||||
|
docker build -t vectorim/riot-web:develop \
|
||||||
|
--build-arg USE_CUSTOM_SDKS=true \
|
||||||
|
--build-arg REACT_SDK_REPO="https://github.com/matrix-org/matrix-react-sdk.git" \
|
||||||
|
--build-arg REACT_SDK_BRANCH="develop" \
|
||||||
|
--build-arg JS_SDK_REPO="https://github.com/matrix-org/matrix-js-sdk.git" \
|
||||||
|
--build-arg JS_SDK_BRANCH="develop" \
|
||||||
|
.
|
||||||
|
```
|
||||||
|
|
||||||
Labs Features
|
Labs Features
|
||||||
=============
|
=============
|
||||||
|
|
||||||
|
|
30
scripts/docker-link-repos.sh
Normal file
30
scripts/docker-link-repos.sh
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
if [ $USE_CUSTOM_SDKS == false ]
|
||||||
|
then
|
||||||
|
echo "skipping react-sdk and js-sdk installs: USE_CUSTOM_SDKS is false"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Linking js-sdk"
|
||||||
|
git clone $JS_SDK_REPO js-sdk
|
||||||
|
cd js-sdk
|
||||||
|
git checkout $JS_SDK_BRANCH
|
||||||
|
yarn link
|
||||||
|
yarn install
|
||||||
|
cd ../
|
||||||
|
|
||||||
|
echo "Linking react-sdk"
|
||||||
|
git clone $REACT_SDK_REPO react-sdk
|
||||||
|
cd react-sdk
|
||||||
|
git checkout $REACT_SDK_BRANCH
|
||||||
|
yarn link
|
||||||
|
yarn link matrix-js-sdk
|
||||||
|
yarn install
|
||||||
|
cd ../
|
||||||
|
|
||||||
|
echo "Setting up riot-web with react-sdk and js-sdk packages"
|
||||||
|
yarn link matrix-js-sdk
|
||||||
|
yarn link matrix-react-sdk
|
Loading…
Reference in a new issue