Skip to content

Commit 4287bd2

Browse files
committed
Add syncthing
1 parent 1b0271b commit 4287bd2

File tree

6 files changed

+66
-6
lines changed

6 files changed

+66
-6
lines changed

LICENSE.md

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
Custom Software License
2+
3+
Copyright © 2022-present Robert Ballantyne, trading as AI-Dock. All rights reserved.
4+
5+
Author and Licensor: Robert Ballantyne.
6+
7+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software") to use the Software for personal or commercial purposes, subject to the following conditions:
8+
9+
1. Users may not modify the Software in any way that overrides the original code written by the author, except as explicitly instructed in the accompanying documentation provided by the author.
10+
11+
2. Users may add additional code or modifications for their custom builds, provided that such additions do not override the original code written by the author.
12+
13+
3. Distribution of the Software, including forks and source code, is permitted without explicit permission from the author. Hosting derivatives on a public registry, such as Docker Hub, is allowed, but users are not permitted to actively encourage the use of these derivatives by others without explicit permission from the author. Distribution of Docker images and templates derived from the Software is permitted only with explicit permission from the author. Permission may be revoked at any time without prior notice. To obtain permission for distribution of Docker images and templates, users must enter into a separate licensing agreement with the author.
14+
15+
4. Users may not remove or alter any branding, trademarks, or copyright notices present in the Software, including hyperlinks to external resources such as the author's website or documentation, and links to third-party services. These hyperlinks and links shall remain intact and unaltered.
16+
17+
5. Distribution of modified versions of the Software must prominently display a notice indicating that the Software has been modified from the original version and include appropriate attribution to the original author.
18+
19+
6. Users may not engage in any activities that could lead to malicious imitation or misrepresentation of the Software, including but not limited to creating derivative works that attempt to pass off as the original Software or using the Software to mislead or deceive others.
20+
21+
7. The author must ensure that the complete corresponding source code for the Software, including any modifications made by the author, remains publicly available at all times.
22+
23+
8. Users who have been granted permission to modify and distribute the Software are responsible for ensuring that the complete corresponding source code for any modifications they make to the Software remains publicly available at all times when they distribute their versions of the Software. This requirement applies to both the original Software and any derivative works created based on the Software.
24+
25+
9. This license applies only to the code originating from AI-Dock repositories, both inside and outside of containers. Other bundled software or dependencies should be viewed as separate entities and may be subject to their own respective licenses.
26+
27+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

NOTICE.md

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
## Notice:
2+
3+
I have chosen to apply a custom license to this software for the following reasons:
4+
5+
- **Uniqueness of Containers:** Common open-source licenses may not adequately address the nuances of software distributed within containers. My custom license ensures clarity regarding the separation of my code from bundled software, thereby respecting the rights of other authors.
6+
7+
- **Preservation of Source Code Integrity:** I am committed to maintaining the integrity of the source code while adhering to the spirit of open-source software. My custom license helps ensure transparency and accountability in my development practices.
8+
9+
- **Funding and Control of Distribution:** Some of the funding for this project comes from maintaining control of distribution. This funding model wouldn't be possible without limiting distribution in certain ways, ultimately supporting the project's mission.
10+
11+
- **Empowering Access:** Supported by controlled distribution, the mission of this project is to empower users with access to valuable tools and resources in the cloud, enabling them to utilize software that may otherwise require hardware resources beyond their reach.
12+
13+
I welcome sponsorship from commercial entities utilizing this software, although it is not mandatory. Your support helps sustain the ongoing development and improvement of this project.
14+
15+
You can sponsor this project at https://github.com/sponsors/ai-dock.
16+
17+
Your understanding and support are greatly appreciated.

README.md

+5-2
Original file line numberDiff line numberDiff line change
@@ -330,8 +330,9 @@ See [this guide](https://link.ai-dock.org/guide-sshd-do) by DigitalOcean for an
330330
>[!NOTE]
331331
>_SSHD is included because the end-user should be able to know the version prior to deloyment. Using a providers add-on, if available, does not guarantee this._
332332
333-
>[!WARNING]
334-
>You should only provide auth tokens in secure cloud environments.
333+
### Syncthing
334+
335+
[Syncthing](https://syncthing.net/) is a peer-to-peer continuous file synchronization program which is very useful for efficiently transporting your work files from a local workstation to a remote container instance. As the files are sync'd in real-time there is no need for a separate download to retrieve the files.
335336

336337
### Logtail
337338

@@ -355,6 +356,8 @@ Some ports need to be exposed for the services to run or for certain features of
355356
| `3478` | Coturn turn server |
356357
| `6100` | Selkies WebRTC interface |
357358
| `6200` | KASMVNC Interface |
359+
| `8384` | Syncthing UI |
360+
| `22999` | Syncthing TCP Transport |
358361

359362
## Pre-Configured Templates
360363

Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
[Desktop Entry]
2+
Version=1.0
3+
Name=Syncthing
4+
GenericName=File Synchronization
5+
Comment=File Synchronization
6+
Exec=xdg-open http://127.0.0.1:18384
7+
Icon=/opt/ai-dock/share/syncthing/syncthing.png
8+
Terminal=false
9+
Type=Application
10+
Categories=Network;System

docker-compose.yaml

+7-4
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,9 @@ services:
4747
- ${WEBRTC_PORT_HOST:-6100}:${WEBRTC_PORT_HOST:-6100}
4848
# VNC
4949
- ${VNC_PORT_HOST:-6200}:${VNC_PORT_HOST:-6200}
50-
# Rclone webserver for interactive configuration
51-
- ${RCLONE_PORT_HOST:-53682}:${RCLONE_PORT_HOST:-53682}
50+
# Syncthing
51+
- ${SYNCTHING_UI_PORT_HOST:-8384}:${SYNCTHING_UI_PORT_HOST:-8384}
52+
- ${SYNCTHING_TRANSPORT_PORT_HOST:-22999}:${SYNCTHING_TRANSPORT_PORT_HOST:-22999}
5253

5354
environment:
5455
# Don't enclose values in quotes
@@ -85,8 +86,10 @@ services:
8586
- WEBRTC_PORT_HOST=${WEBRTC_PORT_HOST:-6100}
8687
- WEBRTC_METRICS_PORT=${WEBRTC_METRICS_PORT:-26100}
8788
- SERVERLESS=${SERVERLESS:-false}
88-
#- PROVISIONING_SCRIPT=https://raw.githubusercontent.com/ai-dock/python/main/config/provisioning/default.sh
89-
89+
- SYNCTHING_UI_PORT_HOST=${SYNCTHING_UI_PORT_HOST:-8384}
90+
- SYNCTHING_TRANSPORT_PORT_HOST=${SYNCTHING_TRANSPORT_PORT_HOST:-22999}
91+
#- PROVISIONING_SCRIPT=${PROVISIONING_SCRIPT:-}
92+
9093
# Magic bullet to solve networking issues - I don't like it
9194
# Turn server works fine both within local network and for internet
9295
#network_mode: "host"

0 commit comments

Comments
 (0)