Skip to content

Commit

Permalink
Add syncthing
Browse files Browse the repository at this point in the history
  • Loading branch information
robballantyne committed Mar 18, 2024
1 parent 755534c commit e740bb0
Show file tree
Hide file tree
Showing 4 changed files with 56 additions and 3 deletions.
27 changes: 27 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Custom Software License

Copyright © 2022-present Robert Ballantyne, trading as AI-Dock. All rights reserved.

Author and Licensor: Robert Ballantyne.

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:

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.
17 changes: 17 additions & 0 deletions NOTICE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
## Notice:

I have chosen to apply a custom license to this software for the following reasons:

- **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.

- **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.

- **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.

- **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.

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.

You can sponsor this project at https://github.com/sponsors/ai-dock.

Your understanding and support are greatly appreciated.
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -422,6 +422,10 @@ See [this guide](https://link.ai-dock.org/guide-sshd-do) by DigitalOcean for an
>[!NOTE]
>_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._
### Syncthing

[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.

### Logtail

This script follows and prints the log files for each of the above services to stdout. This allows you to follow the progress of all running services through docker's own logging system.
Expand All @@ -442,8 +446,9 @@ Some ports need to be exposed for the services to run or for certain features of
| `22` | SSH server |
| `1111` | Service Portal web UI |
| `8188` | ComfyUI Interface |
| `8384` | Syncthing UI |
| `8888` | Jupyter |
| `53682` | Rclone interactive config |
| `22999` | Syncthing TCP Transport |

## Pre-Configured Templates

Expand Down
8 changes: 6 additions & 2 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,9 @@ services:
- ${COMFYUI_PORT_HOST:-8188}:${COMFYUI_PORT_HOST:-8188}
# Jupyter server
- ${JUPYTER_PORT_HOST:-8888}:${JUPYTER_PORT_HOST:-8888}
# Rclone webserver for interactive configuration
- ${RCLONE_PORT_HOST:-53682}:${RCLONE_PORT_HOST:-53682}
# Syncthing
- ${SYNCTHING_UI_PORT_HOST:-8384}:${SYNCTHING_UI_PORT_HOST:-8384}
- ${SYNCTHING_TRANSPORT_PORT_HOST:-22999}:${SYNCTHING_TRANSPORT_PORT_HOST:-22999}

environment:
# Don't enclose values in quotes
Expand All @@ -69,3 +70,6 @@ services:
- JUPYTER_PORT_HOST=${JUPYTER_PORT_HOST:-8888}
- JUPYTER_METRICS_PORT=${JUPYTER_METRICS_PORT:-28888}
- SERVERLESS=${SERVERLESS:-false}
- SYNCTHING_UI_PORT_HOST=${SYNCTHING_UI_PORT_HOST:-8384}
- SYNCTHING_TRANSPORT_PORT_HOST=${SYNCTHING_TRANSPORT_PORT_HOST:-22999}
#- PROVISIONING_SCRIPT=${PROVISIONING_SCRIPT:-}

0 comments on commit e740bb0

Please sign in to comment.