Initial version
This commit is contained in:
5
.dockerignore
Normal file
5
.dockerignore
Normal file
@@ -0,0 +1,5 @@
|
||||
.git
|
||||
.gitignore
|
||||
.dockerignore
|
||||
node_modules
|
||||
|
||||
29
CloudronManifest.json
Normal file
29
CloudronManifest.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"id": "org.matrix.synapse_riot",
|
||||
"title": "Matrix synapse with Riot",
|
||||
"author": "Matrix synapse & Riot authors",
|
||||
"description": "file://DESCRIPTION.md",
|
||||
"changelog": "file://CHANGELOG",
|
||||
"tagline": "matrix server and web client",
|
||||
"version": "0.1.0",
|
||||
"healthCheckPath": "/",
|
||||
"httpPort": 8000,
|
||||
"tcpPorts": {
|
||||
"FEDERATION_PORT": {
|
||||
"title": "Federation Port",
|
||||
"description": "Federation Port",
|
||||
"defaultValue": 8448
|
||||
}
|
||||
},
|
||||
"addons": {
|
||||
"localstorage": {}
|
||||
},
|
||||
"manifestVersion": 1,
|
||||
"website": "https://matrix.org",
|
||||
"contactEmail": "support@cloudron.io",
|
||||
"icon": "logo.png",
|
||||
"tags": [
|
||||
"im", "collaboration"
|
||||
],
|
||||
"mediaLinks": [ ]
|
||||
}
|
||||
1
DESCRIPTION.md
Normal file
1
DESCRIPTION.md
Normal file
@@ -0,0 +1 @@
|
||||
Please add the appstore description in markdown format here.
|
||||
30
Dockerfile
Normal file
30
Dockerfile
Normal file
@@ -0,0 +1,30 @@
|
||||
FROM cloudron/base:0.10.0
|
||||
MAINTAINER Authors name <support@cloudron.io>
|
||||
|
||||
RUN mkdir -p /app/code
|
||||
WORKDIR /app/code
|
||||
|
||||
EXPOSE 8000
|
||||
|
||||
# Riot web
|
||||
RUN curl -L https://github.com/vector-im/riot-web/releases/download/v0.9.7/vector-v0.9.7.tar.gz | tar -xz --strip-components 1 -f -
|
||||
RUN ln -sf /app/data/riot_config.json /app/code/config.json
|
||||
|
||||
# Nginx
|
||||
RUN rm /etc/nginx/sites-enabled/*
|
||||
ADD nginx_matrix.conf /etc/nginx/sites-enabled/
|
||||
RUN rm -rf /var/lib/nginx && ln -sf /app/data/nginx /var/lib/nginx
|
||||
RUN rm -rf /var/log/nginx && ln -sf /app/data/nginx_log /var/log/nginx
|
||||
|
||||
# Synapse
|
||||
RUN apt update && apt-get install -y build-essential python2.7-dev libffi-dev \
|
||||
python-wheel python-pip python-setuptools sqlite3 \
|
||||
libssl-dev libjpeg-dev libxslt1-dev
|
||||
RUN pip install --upgrade setuptools
|
||||
RUN pip install https://github.com/matrix-org/synapse/tarball/master
|
||||
|
||||
RUN chown -R www-data.www-data /app/code
|
||||
|
||||
ADD start_matrix.sh /app/
|
||||
|
||||
CMD [ "/app/start_matrix.sh" ]
|
||||
16
nginx_matrix.conf
Normal file
16
nginx_matrix.conf
Normal file
@@ -0,0 +1,16 @@
|
||||
server {
|
||||
listen 8000;
|
||||
listen [::]:8000;
|
||||
|
||||
server_name _;
|
||||
|
||||
location /_matrix {
|
||||
proxy_pass http://localhost:8008;
|
||||
proxy_set_header X-Forwarded-For $remote_addr;
|
||||
}
|
||||
|
||||
location / {
|
||||
root /app/code;
|
||||
index index.html;
|
||||
}
|
||||
}
|
||||
29
start_matrix.sh
Executable file
29
start_matrix.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eux
|
||||
|
||||
if [[ ! -d /app/data/synapse ]]; then
|
||||
echo "=> Detected first run"
|
||||
mkdir -p /app/data/synapse
|
||||
cd /app/data/synapse
|
||||
python -m synapse.app.homeserver \
|
||||
--server-name ${APP_DOMAIN#*.} \
|
||||
--config-path homeserver.yaml \
|
||||
--report-stats=no \
|
||||
--generate-config
|
||||
fi
|
||||
|
||||
if [[ ! -e /app/data/riot_config.json ]]; then
|
||||
cp /app/code/config.sample.json /app/data/riot_config.json
|
||||
sed -i "s#https://matrix.org#https://$APP_DOMAIN#" /app/data/riot_config.json
|
||||
fi
|
||||
|
||||
mkdir -p /app/data/nginx
|
||||
mkdir -p /app/data/nginx_log
|
||||
|
||||
chown -R www-data.www-data /app/data
|
||||
|
||||
cd /app/data/synapse
|
||||
gosu www-data python -m synapse.app.homeserver --config-path homeserver.yaml &> /dev/null &
|
||||
|
||||
exec /usr/sbin/nginx -g 'daemon off;'
|
||||
Reference in New Issue
Block a user