mirror of
https://git.cloudron.io/cloudron/syncthing-app
synced 2025-09-13 08:19:09 +00:00
Compare commits
25 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
2d4e328955 | ||
|
ef3a205467 | ||
|
9400c1a99f | ||
|
ff751142d4 | ||
|
2032c881a5 | ||
|
692c124a61 | ||
|
70c159edbc | ||
|
d7a7febb91 | ||
|
9fff5574cb | ||
|
cfc7133606 | ||
|
ef92705074 | ||
|
baf46b3f52 | ||
|
3d8ea24781 | ||
|
37558f3b10 | ||
|
0e8b61d7d4 | ||
|
e628a70b60 | ||
|
02e9dbdedc | ||
|
3e83a29587 | ||
|
bbe4721c76 | ||
|
92ae28d0da | ||
|
5e085fc42a | ||
|
d1c449aef8 | ||
|
831efb6f8c | ||
|
012db8bad1 | ||
|
4e805ba62f |
18
CHANGELOG
18
CHANGELOG
@@ -6,3 +6,21 @@
|
||||
|
||||
[0.1.2]
|
||||
* Fixed wrong URL
|
||||
|
||||
[0.1.3]
|
||||
* Updated postinstall message
|
||||
|
||||
[0.2.0]
|
||||
* Upstream version 0.14.29
|
||||
* Uses syncthing generated config (thanks to @rymnel)
|
||||
* Fixed typo in manifest (thanks to @rymnel)
|
||||
* Running under user cloudron
|
||||
|
||||
[0.2.1]
|
||||
* Fixed description
|
||||
|
||||
[0.2.2]
|
||||
* Add to sync category in app store
|
||||
|
||||
[0.2.3]
|
||||
* Updated to version 0.14.30
|
||||
|
@@ -5,7 +5,7 @@
|
||||
"description": "file://DESCRIPTION.md",
|
||||
"changelog": "file://CHANGELOG",
|
||||
"tagline": "Decentralized file synchronization",
|
||||
"version": "0.1.2",
|
||||
"version": "0.2.3",
|
||||
"healthCheckPath": "/check",
|
||||
"httpPort": 8000,
|
||||
"addons": {
|
||||
@@ -21,11 +21,12 @@
|
||||
}
|
||||
},
|
||||
"manifestVersion": 1,
|
||||
"website": "http://syncthing.net",
|
||||
"website": "https://syncthing.net",
|
||||
"contactEmail": "support@cloudron.io",
|
||||
"icon": "logo.png",
|
||||
"tags": [
|
||||
"storage"
|
||||
"storage",
|
||||
"sync"
|
||||
],
|
||||
"mediaLinks": [
|
||||
"https://git.cloudron.io/dswd/syncthing-app/raw/master/screenshots/1.jpg"
|
||||
|
@@ -1,4 +1,4 @@
|
||||
This app packages Syncthing v0.14.27.
|
||||
This app packages Syncthing <upstream>v0.14.30</upstream>.
|
||||
|
||||
Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some third party and how it's transmitted over the Internet.
|
||||
|
||||
|
@@ -28,7 +28,7 @@ RUN ./configure \
|
||||
--build=cloudron-river
|
||||
RUN make install
|
||||
|
||||
ENV VERSION 0.14.27
|
||||
ENV VERSION 0.14.30
|
||||
|
||||
RUN mkdir -p /app/code \
|
||||
&& wget https://github.com/syncthing/syncthing/releases/download/v${VERSION}/syncthing-linux-amd64-v${VERSION}.tar.gz -O - \
|
||||
@@ -37,7 +37,6 @@ RUN mkdir -p /app/code \
|
||||
WORKDIR /app/code
|
||||
|
||||
ADD nginx.conf /app/code/nginx.conf
|
||||
ADD config.xml /app/code/config.xml.default
|
||||
ADD inittab /etc/inittab
|
||||
ADD start.sh /app/code/start.sh
|
||||
|
||||
|
@@ -1,5 +1,6 @@
|
||||
This application integrates with Cloudron authentication.
|
||||
However, all Cloudron users share the same Syncthing session.
|
||||
Please note that only the username is accepted as login and not the email address.
|
||||
|
||||
Syncthing contains an internal user `admin` that is needed by Cloudron but not exposed.
|
||||
Please do not change the password of that account.
|
||||
|
@@ -31,7 +31,6 @@ The e2e tests are located in the `test/` folder and require [nodejs](http://node
|
||||
cd syncthing-app/test
|
||||
|
||||
npm install
|
||||
export PATH=$PATH:node_modules/.bin
|
||||
USERNAME=user PASSWORD=password mocha --bail test.js
|
||||
PATH=$PATH:node_modules/.bin USERNAME=user PASSWORD=password mocha --bail test.js
|
||||
```
|
||||
|
||||
|
15
config.xml
15
config.xml
@@ -1,15 +0,0 @@
|
||||
<configuration version="19">
|
||||
<gui enabled="true" tls="false" debugging="false">
|
||||
<insecureAdminAccess>true</insecureAdminAccess>
|
||||
<address>0.0.0.0:3000</address>
|
||||
<theme>default</theme>
|
||||
</gui>
|
||||
<options>
|
||||
<listenAddress>tcp://:22000</listenAddress>
|
||||
<localAnnounceEnabled>false</localAnnounceEnabled>
|
||||
<startBrowser>false</startBrowser>
|
||||
<natEnabled>true</natEnabled>
|
||||
<autoUpgradeIntervalH>0</autoUpgradeIntervalH>
|
||||
<upgradeToPreReleases>false</upgradeToPreReleases>
|
||||
</options>
|
||||
</configuration>
|
2
inittab
2
inittab
@@ -1,2 +1,2 @@
|
||||
::respawn:/app/code/syncthing -gui-address=0.0.0.0:3000 -home=/app/data/config -no-browser >/dev/stdout 2>/dev/stderr
|
||||
::respawn:sudo -nu cloudron /app/code/syncthing -gui-address=0.0.0.0:3000 -home=/app/data/config -no-browser >/dev/stdout 2>/dev/stderr
|
||||
::respawn:/usr/local/nginx/sbin/nginx -c /app/code/nginx.conf
|
||||
|
12
start.sh
12
start.sh
@@ -4,8 +4,12 @@ set -eu
|
||||
|
||||
mkdir -p /app/data/config
|
||||
|
||||
if ! [ -f /app/data/config/config.xml ]; then
|
||||
cp /app/code/config.xml.default /app/data/config/config.xml
|
||||
export STNODEFAULTFOLDER=1 STNOUPGRADE=1
|
||||
|
||||
# if this if the first run, generate a useful config
|
||||
if [ ! -f /app/data/config/config.xml ]; then
|
||||
echo "=> Generating config"
|
||||
/app/code/syncthing --generate="/app/data/config"
|
||||
fi
|
||||
|
||||
cat >/run/ldap.conf <<EOF
|
||||
@@ -19,9 +23,11 @@ ldap_server cloudron {
|
||||
}
|
||||
EOF
|
||||
|
||||
# Set the listenAddress and the gui enabled to make sure user doesnt lock themselves out by accident.
|
||||
sed -e 's,<listenAddress>.*</listenAddress>,<listenAddress>tcp://:22000</listenAddress>,' -i /app/data/config/config.xml
|
||||
sed -e 's,<gui .*>,<gui enabled="true" tls="false" debugging="false">,' -i /app/data/config/config.xml
|
||||
|
||||
export STNODEFAULTFOLDER=1 STNOUPGRADE=1
|
||||
chown -R cloudron:cloudron /app/data/config /app/data
|
||||
|
||||
exec busybox init
|
||||
|
||||
|
@@ -46,7 +46,7 @@ describe('Application life cycle test', function () {
|
||||
done();
|
||||
});
|
||||
|
||||
var LOCATION = 'syncthing-test';
|
||||
var LOCATION = 'test';
|
||||
var TEST_TIMEOUT = 30000;
|
||||
var SYNC_PORT = 22001;
|
||||
var app;
|
||||
@@ -64,13 +64,13 @@ describe('Application life cycle test', function () {
|
||||
function loadPage(callback) {
|
||||
browser.manage().deleteAllCookies();
|
||||
browser.get('https://' + username + ':' + password + '@' + app.fqdn);
|
||||
return pageLoaded().then(function() {
|
||||
pageLoaded().then(function() {
|
||||
callback();
|
||||
});
|
||||
}
|
||||
|
||||
function addFolder(callback) {
|
||||
return pageLoaded().then(function() {
|
||||
pageLoaded().then(function() {
|
||||
browser.findElement(by.css('[ng-click*=addFolder]')).click();
|
||||
return visible(by.id('folderPath')).then(function() {
|
||||
return browser.findElement(by.id('folderLabel')).sendKeys('test');
|
||||
@@ -93,7 +93,7 @@ describe('Application life cycle test', function () {
|
||||
|
||||
function removeFolder(callback) {
|
||||
browser.get('https://' + username + ':' + password + '@' + app.fqdn);
|
||||
return pageLoaded().then(function() {
|
||||
pageLoaded().then(function() {
|
||||
browser.findElement(by.css('#folders button')).click();
|
||||
setTimeout(function() {
|
||||
browser.findElement(by.css('#folder-0 button[ng-click*=editFolder]')).click();
|
||||
|
Reference in New Issue
Block a user