-
-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Software title: NextCloud and Syncthing
- Loading branch information
1 parent
c6c3860
commit 965ab06
Showing
10 changed files
with
275 additions
and
1 deletion.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
=== "Access to the web interface" | ||
|
||
The web interface is accessible via port **8884**: | ||
|
||
- URL: `https://<your.IP>:8884` | ||
- Username/Password: There is none, but it is highly suggested setting a password for this container. To do this go to Actions -> Settings -> set user/password for the webUI. | ||
|
||
=== "Directories" | ||
|
||
- Install directory: `/armbian/syncthing` | ||
- Site configuration directory: `/armbian/syncthing/config` | ||
- Data directory: `/armbian/syncthing/data1` `/armbian/syncthing/data2` | ||
|
||
=== "View logs" | ||
|
||
```sh | ||
docker logs -f syncthing | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
=== "Access to the web interface" | ||
|
||
The web interface is accessible via port **443**: | ||
|
||
- URL: `https://<your.IP>:443` | ||
- Username/Password: admin / generate at first web interface login | ||
|
||
=== "Directories" | ||
|
||
- Install directory: `/armbian/nextcloud` | ||
- Site configuration directory: `/armbian/nextcloud/config` | ||
- Data directory: `/armbian/nextcloud/data` | ||
|
||
=== "View logs" | ||
|
||
```sh | ||
docker logs -f nextcloud | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
Nextcloud gives you access to all your files wherever you are. | ||
<br> | ||
Where are your photos and documents? With Nextcloud you pick a server of your choice, at home, in a data center or at a provider. And that is where your files will be. Nextcloud runs on that server, protecting your data and giving you access from your desktop or mobile devices. Through Nextcloud you also access, sync and share your existing data on that FTP drive at the office, a Dropbox or a NAS you have at home. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
module_options+=( | ||
["module_nextcloud,author"]="" | ||
["module_nextcloud,maintainer"]="@igorpecovnik" | ||
["module_nextcloud,testers"]="@igorpecovnik" | ||
["module_nextcloud,feature"]="module_nextcloud" | ||
["module_nextcloud,desc"]="Install nextcloud container" | ||
["module_nextcloud,example"]="install remove purge status help" | ||
["module_nextcloud,port"]="443" | ||
["module_nextcloud,status"]="Active" | ||
["module_nextcloud,arch"]="x86-64,arm64" | ||
) | ||
# | ||
# Module nextcloud-PDF | ||
# | ||
function module_nextcloud () { | ||
local title="nextcloud" | ||
local condition=$(which "$title" 2>/dev/null) | ||
|
||
if check_if_installed docker-ce; then | ||
local container=$(docker container ls -a | mawk '/nextcloud?( |$)/{print $1}') | ||
local image=$(docker image ls -a | mawk '/nextcloud?( |$)/{print $3}') | ||
fi | ||
|
||
local commands | ||
IFS=' ' read -r -a commands <<< "${module_options["module_nextcloud,example"]}" | ||
|
||
NEXTCLOUD_BASE="${SOFTWARE_FOLDER}/nextcloud" | ||
|
||
case "$1" in | ||
"${commands[0]}") | ||
check_if_installed docker-ce || install_docker | ||
[[ -d "$NEXTCLOUD_BASE" ]] || mkdir -p "$NEXTCLOUD_BASE" || { echo "Couldn't create storage directory: $NEXTCLOUD_BASE"; exit 1; } | ||
docker run -d \ | ||
--name=nextcloud \ | ||
-e PUID=1000 \ | ||
-e PGID=1000 \ | ||
-e TZ="$(cat /etc/timezone)" \ | ||
-p 443:443 \ | ||
-v "${NEXTCLOUD_BASE}/config:/config" \ | ||
-v "${NEXTCLOUD_BASE}/data:/data" \ | ||
--restart unless-stopped \ | ||
lscr.io/linuxserver/nextcloud:latest | ||
for i in $(seq 1 20); do | ||
if docker inspect -f '{{ index .Config.Labels "build_version" }}' nextcloud >/dev/null 2>&1 ; then | ||
break | ||
else | ||
sleep 3 | ||
fi | ||
if [ $i -eq 20 ] ; then | ||
echo -e "\nTimed out waiting for ${title} to start, consult your container logs for more info (\`docker logs nextcloud\`)" | ||
exit 1 | ||
fi | ||
done | ||
;; | ||
"${commands[1]}") | ||
[[ "${container}" ]] && docker container rm -f "$container" >/dev/null | ||
[[ "${image}" ]] && docker image rm "$image" >/dev/null | ||
;; | ||
"${commands[2]}") | ||
[[ -n "${NEXTCLOUD_BASE}" && "${NEXTCLOUD_BASE}" != "/" ]] && rm -rf "${NEXTCLOUD_BASE}" | ||
;; | ||
"${commands[3]}") | ||
if [[ "${container}" && "${image}" ]]; then | ||
return 0 | ||
else | ||
return 1 | ||
fi | ||
;; | ||
"${commands[4]}") | ||
echo -e "\nUsage: ${module_options["module_nextcloud,feature"]} <command>" | ||
echo -e "Commands: ${module_options["module_nextcloud,example"]}" | ||
echo "Available commands:" | ||
echo -e "\tinstall\t- Install $title." | ||
echo -e "\tremove\t- Remove $title." | ||
echo -e "\tpurge\t- Purge $title data folder." | ||
echo -e "\tstatus\t- Installation status $title." | ||
|
||
echo | ||
;; | ||
*) | ||
${module_options["module_nextcloud,feature"]} ${commands[4]} | ||
;; | ||
esac | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
module_options+=( | ||
["module_syncthing,author"]="" | ||
["module_syncthing,maintainer"]="@igorpecovnik" | ||
["module_syncthing,testers"]="@igorpecovnik" | ||
["module_syncthing,feature"]="module_syncthing" | ||
["module_syncthing,desc"]="Install syncthing container" | ||
["module_syncthing,example"]="install remove purge status help" | ||
["module_syncthing,port"]="8884" | ||
["module_syncthing,status"]="Active" | ||
["module_syncthing,arch"]="x86-64,arm64" | ||
) | ||
# | ||
# Module syncthing-PDF | ||
# | ||
function module_syncthing () { | ||
local title="syncthing" | ||
local condition=$(which "$title" 2>/dev/null) | ||
|
||
if check_if_installed docker-ce; then | ||
local container=$(docker container ls -a | mawk '/syncthing?( |$)/{print $1}') | ||
local image=$(docker image ls -a | mawk '/syncthing?( |$)/{print $3}') | ||
fi | ||
|
||
local commands | ||
IFS=' ' read -r -a commands <<< "${module_options["module_syncthing,example"]}" | ||
|
||
SYNCTHING_BASE="${SOFTWARE_FOLDER}/syncthing" | ||
|
||
case "$1" in | ||
"${commands[0]}") | ||
check_if_installed docker-ce || install_docker | ||
[[ -d "$SYNCTHING_BASE" ]] || mkdir -p "$SYNCTHING_BASE" || { echo "Couldn't create storage directory: $SYNCTHING_BASE"; exit 1; } | ||
docker run -d \ | ||
--name=syncthing \ | ||
--hostname=syncthing `#optional` \ | ||
-e PUID=1000 \ | ||
-e PGID=1000 \ | ||
-e TZ=Etc/UTC \ | ||
-p 8884:8384 \ | ||
-p 22000:22000/tcp \ | ||
-p 22000:22000/udp \ | ||
-p 21027:21027/udp \ | ||
-v "${SYNCTHING_BASE}/config:/config" \ | ||
-v "${SYNCTHING_BASE}/data1:/data1" \ | ||
-v "${SYNCTHING_BASE}/data2:/data2" \ | ||
--restart unless-stopped \ | ||
lscr.io/linuxserver/syncthing:latest | ||
for i in $(seq 1 20); do | ||
if docker inspect -f '{{ index .Config.Labels "build_version" }}' syncthing >/dev/null 2>&1 ; then | ||
break | ||
else | ||
sleep 3 | ||
fi | ||
if [ $i -eq 20 ] ; then | ||
echo -e "\nTimed out waiting for ${title} to start, consult your container logs for more info (\`docker logs syncthing\`)" | ||
exit 1 | ||
fi | ||
done | ||
;; | ||
"${commands[1]}") | ||
[[ "${container}" ]] && docker container rm -f "$container" >/dev/null | ||
[[ "${image}" ]] && docker image rm "$image" >/dev/null | ||
;; | ||
"${commands[2]}") | ||
[[ -n "${SYNCTHING_BASE}" && "${SYNCTHING_BASE}" != "/" ]] && rm -rf "${SYNCTHING_BASE}" | ||
;; | ||
"${commands[3]}") | ||
if [[ "${container}" && "${image}" ]]; then | ||
return 0 | ||
else | ||
return 1 | ||
fi | ||
;; | ||
"${commands[4]}") | ||
echo -e "\nUsage: ${module_options["module_syncthing,feature"]} <command>" | ||
echo -e "Commands: ${module_options["module_syncthing,example"]}" | ||
echo "Available commands:" | ||
echo -e "\tinstall\t- Install $title." | ||
echo -e "\tremove\t- Remove $title." | ||
echo -e "\tpurge\t- Purge $title data folder." | ||
echo -e "\tstatus\t- Installation status $title." | ||
|
||
echo | ||
;; | ||
*) | ||
${module_options["module_syncthing,feature"]} ${commands[4]} | ||
;; | ||
esac | ||
} |