Skip to content

Commit 7d98dff

Browse files
Merge pull request #215 from TechPerplexed/omni
Omni
2 parents 6d1b012 + 19e5109 commit 7d98dff

File tree

8 files changed

+183
-64
lines changed

8 files changed

+183
-64
lines changed

README.md

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,42 @@
1-
# Gooby - Infinite Media Cloud Server
1+
## Gooby is proud to announce:
22

3-
Create an infinite Plex, Emby or Jellyfin media cloud server with Google Drive on a VPS. It has full docker integration for all apps, NginX with reverse proxy and Letsencrypt, one step (automatic) backup and restore, several additional apps.
3+
# OmniStream
44

5-
## Installation:
5+
What is OmniStream? It's next iteration of Gooby - entirely rebuilt from the ground up. It has many exciting new features such as:
66

7-
Run as user `root` on Debian 10 (our preferred distro) with this command:
7+
* Multi user support: everything is in the user home folder - including the mounts.
8+
* Full support of Traefik, with all its advantages such as a single domain certificate if used in conjunction with CloudFlare - no more Let’s Encrypt bans.
9+
* Omni can create and remove subdomains on the fly - you won't need to manually create your A records.
10+
* More customizations than ever, plus a vastly improved menu system - maintaining your media server couldn't be easier.
11+
* Last but not least, OmniStream is 100% dockerized now, including Rclone and MergerFS - you will never be “waiting on mounts” again!
812

9-
`sudo wget https://bit.ly/GetGooby2 -O /tmp/install.sh && sudo bash /tmp/install.sh`
13+
**WARNING:** OmniStream is still a work in progress. Although it is fully functional, it may still be a little rough around the edges. The documentation is not yet complete either, so proceed with caution for now!
14+
15+
## What will change?
16+
17+
There are a few things that will change, mainly with your mount locations. We have made sure impact is minimal, so you won't have to rescan your Plex, Emby or Jellyfin libraries again. However you will have to make some changes within your catalogue apps (Radarr, Sonarr, etc) and downloaders (Torrent, Usenet apps). If you created any custom yaml files, those will not port over automatically. You will need to manually keep a copy and adapt them to Omni.
18+
19+
## How to upgrade?
1020

11-
You can follow this [Tutorial](http://bit.ly/Tech_Perplexed "How to create an infinite media server using a VPS and Cloud service") for step by step instructions. Additional information and tips are provided in the [Wiki](https://github.com/TechPerplexed/Gooby/wiki "Gooby Wiki").
21+
**MAKE A BACKUP BEFORE YOU START!** Read the information on [OmniStream.cloud](https://omnistream.cloud) first. You can start the upgrade by typing `omni-upgrade`.
1222

13-
## Supported Apps:
23+
## Who are behind OmniStream?
1424

15-
One click installation of **Rclone**, **Plex**, **Tautulli**, **Emby**, **Jellyfin**, **Sonarr**, **Radarr**, **Deluge**, **NZBGet**, **Jackett**, **Netdata**, **Organizr**, **Ombi**, **Portainer** and **Apache web server**.
25+
The same two people (kelinger and TechPerplexed) that created Gooby will be maintaining OmniStream, so you can still expect the same level of support and care. [OmniStream has its own location on GitHub](https://github.com/kelinger/OmniStream). Once you are ready to upgrade, meet us over there for questions and suggestions.
1626

17-
**Lidarr**, **RuTorrent**, **SABnzbd**, **Monitorr**, **NextCloud**, **MySQL**, **MariaDB**, **PostgreSQL** and numerous other Docker images are available through self installation.
27+
## Is Gooby going away?
28+
29+
No, you can keep using Gooby indefinitely. We won't be actively maintaining it any longer, but you'll never be forced to upgrade. Gooby is here to stay!
30+
31+
If for some reason you still want to install Gooby from scratch, run this command:
32+
`sudo wget https://bit.ly/GetGooby2 -O /tmp/install.sh && sudo bash /tmp/install.sh`
1833

1934
## Disclaimer:
2035

2136
This software is supplied "AS IS" without any warranties and support. You are solely responsible for determining whether Gooby is compatible with your equipment and other software installed on your system. Make sure you have a backup of all your important data!
2237

2338
## Donate:
2439

25-
By popular request, at long last here is a donate button. Thank you SO MUCH for your generosity - I promise I will think of you when I sip that coffee!
40+
Thank you SO MUCH for your generosity - we promise we'll will think of you when we sip that coffee!
2641

2742
[![](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/donate/?hosted_button_id=VRNLSU6P65FNJ)

install/install.sh

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,8 @@ if [[ ${REPLY} =~ ^[Yy]$ ]]; then
4646

4747
# Cloning Gooby from Github
4848

49-
read -t 3 -p "What Gooby branch? (just wait for default): " GOOBYBRANCH
50-
[[ -z ${GOOBYBRANCH} ]] && GOOBYBRANCH="v2"
51-
5249
sudo rm -r /opt/.Gooby > /dev/null 2>&1
53-
sudo git clone -b ${GOOBYBRANCH} https://github.com/TechPerplexed/Gooby /opt/.Gooby
50+
sudo git clone -b v2 https://github.com/TechPerplexed/Gooby /opt/.Gooby
5451

5552
if [ -d /opt/.Gooby ]; then
5653
sudo rm -r /opt/Gooby > /dev/null 2>&1
@@ -62,6 +59,7 @@ if [[ ${REPLY} =~ ^[Yy]$ ]]; then
6259
sudo rsync -a /opt/Gooby/scripts/bin/* /bin
6360
sudo chmod 755 /bin/gooby
6461
sudo chmod 755 /bin/gbackup
62+
sudo chmod 755 /bin/omni-upgrade
6563
sudo chmod 755 /bin/plexstats
6664
sudo chmod 755 /bin/rclean
6765
sudo chmod 755 /bin/resetbackup

install/misc/Gooby-update.sh

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,10 @@ CONFIRMATION
1010

1111
if [[ ${REPLY} =~ ^[Yy]$ ]]; then
1212

13-
read -t 3 -p "What Gooby branch? (just wait for default): " GOOBYBRANCH
14-
[[ -z ${GOOBYBRANCH} ]] && GOOBYBRANCH=v2
15-
echo "${GOOBYBRANCH}" > ${CONFIGVARS}/goobybranch
16-
echo
17-
echo
18-
echo Updating Gooby to ${GOOBYBRANCH}
13+
echo Updating Gooby to v2 (final version)
1914
echo
2015
sudo rm -r /opt/.Gooby > /dev/null 2>&1
21-
sudo git clone -b ${GOOBYBRANCH} https://github.com/TechPerplexed/Gooby /opt/.Gooby
16+
sudo git clone -b v2 https://github.com/TechPerplexed/Gooby /opt/.Gooby
2217

2318
if [ -d /opt/.Gooby ]; then
2419
sudo rm -r /opt/Gooby
@@ -30,6 +25,7 @@ if [[ ${REPLY} =~ ^[Yy]$ ]]; then
3025
sudo rsync -a /opt/Gooby/scripts/bin/* /bin
3126
sudo chmod 755 /bin/gooby
3227
sudo chmod 755 /bin/gbackup
28+
sudo chmod 755 /bin/omni-upgrade
3329
sudo chmod 755 /bin/plexstats
3430
sudo chmod 755 /bin/rclean
3531
sudo chmod 755 /bin/resetbackup

install/server/server-init.sh

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,6 @@ echo
1616
echo "What is your email address for certificate registration?"
1717
read -e -p '(ex: [email protected]) ' -i "${MYEMAIL}" MYEMAIL
1818
echo
19-
read -t 3 -p "What Gooby branch? (just wait for default): " GOOBYBRANCH
20-
[[ -z ${GOOBYBRANCH} ]] && GOOBYBRANCH="v2"
21-
echo
22-
echo
2319
echo "${YELLOW}Thank you! Please hang tight while we get some things ready...${STD}"
2420
echo
2521
sleep 10
@@ -35,7 +31,7 @@ sudo chown -R ${USER}:${USER} ${CONFIGS}
3531

3632
echo "${MYDOMAIN}" > ${CONFIGVARS}/mydomain
3733
echo "${MYEMAIL}" > ${CONFIGVARS}/myemail
38-
echo "${GOOBYBRANCH}" > ${CONFIGVARS}/goobybranch
34+
echo "v2" > ${CONFIGVARS}/goobybranch
3935

4036
[[ ! -f ${CONFIGVARS}/rootmount ]] && echo "/mnt" > ${CONFIGVARS}/rootmount
4137
[[ ! -f ${CONFIGVARS}/media ]] && echo "/mnt/google" > ${CONFIGVARS}/media

scripts/bin/omni-upgrade

Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
#!/bin/bash
2+
3+
# Upgrade from Gooby to Omni
4+
5+
source /opt/Gooby/menus/variables.sh
6+
source ${CONFIGS}/Docker/.env
7+
clear
8+
9+
echo "This will install OmniStream."
10+
echo "You WILL have to make some adjustments"
11+
echo "to your existing apps afterwards."
12+
echo
13+
echo "See ${LCYAN}omnistream.cloud${STD} for detailed information."
14+
echo
15+
echo "${LRED}MAKE A BACKUP BEFORE YOU START!!!${STD}"
16+
echo
17+
echo "Would you like to start the upgrade now?"
18+
echo
19+
read -p "${LGREEN}Y${STD} for YES or ${LRED}Q${STD} to QUIT: " -n1 REPLY
20+
echo
21+
echo
22+
23+
if [[ ${REPLY} =~ ^[Yy]$ ]] ; then
24+
25+
# Downloading OmniStream
26+
27+
echo; echo -n "${YELLOW}Downloading OmniStream... ${STD}"
28+
29+
wget tinyurl.com/omniSetup -O /tmp/setup
30+
chmod 700 /tmp/setup
31+
32+
echo "${LGREEN}Done${STD}"
33+
34+
# Shutting Gooby down
35+
36+
echo; echo -n "${YELLOW}Shutting down Gooby...${STD}"
37+
38+
cd ${CONFIGS}/Docker
39+
/usr/local/bin/docker-compose down
40+
41+
echo "${LGREEN}Done${STD}"
42+
43+
# Remove cron jobs
44+
45+
echo; echo -n "${YELLOW}Removing Gooby specific cron jobs... ${STD}"
46+
47+
crontab -l | grep -v '\/opt\/Gooby\/scripts\/cron\/rclean.sh' | crontab -
48+
crontab -l | grep -v '\/opt\/Gooby\/scripts\/cron\/syncmount' | crontab -
49+
crontab -l | grep -v '\/opt\/Gooby\/scripts\/cron\/backup' | crontab -
50+
crontab -l | grep -v '\/bin\/resetbackup' | crontab -
51+
52+
echo "${LGREEN}Done${STD}"
53+
54+
# Remove services
55+
56+
echo; echo -n "${YELLOW}Removing mounts and services... ${STD}"
57+
58+
if [ -f /etc/systemd/system/rclonefs.service ]; then
59+
sudo systemctl stop mergerfs rclonefs
60+
/bin/fusermount -uz ${MEDIA}
61+
/bin/fusermount -uz ${RCLONEMOUNT}
62+
sudo systemctl disable mergerfs.service rclonefs.service
63+
sudo rm /etc/systemd/system/mergerfs* /etc/systemd/system/rclonefs*
64+
echo "${LGREEN}Done${STD}"
65+
66+
fi
67+
68+
# Remove bin files
69+
70+
echo; echo -n "${YELLOW}Cleaning up bin files... ${STD}"
71+
72+
[[ -f /bin/gooby ]] && sudo rm /bin/gooby
73+
[[ -f /bin/gbackup ]] && sudo rm /bin/gbackup
74+
[[ -f /bin/plexstats ]] && sudo rm /bin/plexstats
75+
[[ -f /bin/rclean ]] && sudo rm /bin/rclean
76+
[[ -f /bin/resetbackup ]] && sudo rm /bin/resetbackup
77+
[[ -f /bin/rstats ]] && sudo rm /bin/rstats
78+
[[ -f /bin/sizer ]] && sudo rm /bin/sizer
79+
[[ -f /bin/syncmount ]] && sudo rm /bin/syncmount
80+
81+
# Install OmniStream
82+
83+
clear
84+
echo
85+
echo "The OmniStream installation will start now."
86+
echo "Make sure you follow along with the instructions."
87+
echo "These can be found at ${LCYAN}omnistream.cloud${STD}."
88+
echo "Follow the tutorial ${YELLOW}Installing Omnistream${STD}."
89+
echo
90+
read -n 1 -s -r -p "Press ENTER to continue"
91+
92+
source /tmp/setup
93+
94+
echo "${LGREEN}Done${STD}"
95+
96+
# Move all containers, delete Docker
97+
98+
echo; echo -n "${YELLOW}Moving containers from Gooby to OmniStream... ${STD}"
99+
100+
[[ -d ${HOME}/OmniStream/configs ]] && sudo mv /var/local/Gooby/* ${HOME}/OmniStream/configs/ ; echo "${LGREEN}Done${STD}" || echo "${LRED}Failed!${STD} (no such folder)"
101+
[[ -d ${HOME}/OmniStream/configs/Docker ]] && sudo mv ${HOME}/OmniStream/configs/Docker/* /tmp/ ; echo "${LGREEN}Done${STD}" || echo "${LRED}Failed!${STD} (no such folder)"
102+
103+
# Set permissions
104+
105+
echo; echo -n "${YELLOW}Setting permissions... ${STD}"
106+
107+
sudo chown -R ${USER}:${USER} ${HOME}/OmniStream/configs
108+
109+
echo "${LGREEN}Done${STD}"
110+
111+
# Rename folders
112+
113+
echo; echo "${YELLOW}Renaming folders...${STD}"
114+
115+
cd /home/${USER}/OmniStream/configs
116+
for f in *; do
117+
test -d "$f" && sudo mv "${f}" "${f,,}" > /dev/null 2>&1
118+
echo "Renamed $f to ${f,,}..."
119+
done
120+
121+
echo "${LGREEN}Done${STD}"
122+
123+
# Remove Gooby specific folders
124+
125+
echo; echo -n "${YELLOW}Removing Gooby folders... ${STD}"
126+
127+
[[ ! -d /var/local/Gooby/Docker ]] && sudo rm -r /opt/Gooby
128+
[[ ! -d /var/local/Gooby/Docker ]] && sudo rm -r /var/local/Gooby
129+
[[ ! -d /var/local/Gooby/Docker ]] && sudo rm /bin/omni-upgrade
130+
rm ${HOME}/Downloads
131+
132+
echo "${LGREEN}Done${STD}"
133+
134+
# Finalizing upgrade
135+
136+
echo
137+
[[ ! -d /var/local/Gooby ]] && echo "${LGREEN}Gooby has finished upgrading to OmniStream.${STD}" || echo "${LRED}Gooby has upgraded with some errors... please try again.${STD}"
138+
[[ -d /tmp/components ]] && echo "${LGREEN}If you had any custom yaml files, then you can find those in" ; echo "/tmp/components. Make sure you adapt and copy them!${STD}"
139+
140+
echo
141+
echo "Important! Visit ${LCYAN}omnistream.cloud${STD} and follow the"
142+
echo "tutorial ${YELLOW}Omni Finalization${STD} to run OmniStream."
143+
echo
144+
else
145+
146+
echo; echo "${YELLOW}No changes to your system were made.${STD}"
147+
148+
fi

scripts/cron/rclean.sh

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ echo "${LYELLOW}Updating Gooby${STD}"
1212
echo
1313

1414
sudo rm -r /opt/.Gooby > /dev/null 2>&1
15-
sudo git clone -b ${GOOBYBRANCH} https://github.com/TechPerplexed/Gooby /opt/.Gooby
15+
sudo git clone -b v2 https://github.com/TechPerplexed/Gooby /opt/.Gooby
1616

1717
if [ -d /opt/.Gooby ]; then
1818
sudo rm -r /opt/Gooby
@@ -24,6 +24,7 @@ if [ -d /opt/.Gooby ]; then
2424
sudo rsync -a /opt/Gooby/scripts/bin/* /bin
2525
sudo chmod 755 /bin/gooby
2626
sudo chmod 755 /bin/gbackup
27+
sudo chmod 755 /bin/omni-upgrade
2728
sudo chmod 755 /bin/plexstats
2829
sudo chmod 755 /bin/rclean
2930
sudo chmod 755 /bin/resetbackup
@@ -112,10 +113,6 @@ do
112113
CODE=$[${CODE}+${?}]
113114
done
114115

115-
# Future upgrade to v3
116-
117-
source /opt/Gooby/scripts/cron/upgradev3.sh
118-
119116
echo
120117
echo "${LYELLOW}Updating and starting containers${STD}"
121118
echo

scripts/cron/upgradeservice.sh

Lines changed: 2 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22

3-
VERSION=2.2.3
3+
VERSION=2.3.0
44

55
CONFIGVARS=${CONFIGS}/Docker/.config
66
sudo mkdir -p ${CONFIGVARS}
@@ -9,11 +9,7 @@ touch ${CONFIGVARS}/version
99

1010
if [ "$(cat ${CONFIGVARS}/version)" == ${VERSION} ]; then
1111

12-
# Let's sneak in a new parameter
13-
[[ ! -f ${CONFIGVARS}/rootmount ]] && echo "/mnt" > ${CONFIGVARS}/rootmount
14-
echo "v2" > ${CONFIGVARS}/goobybranch
15-
16-
echo "${GREEN}Your system has already been upgraded to v${VERSION}... skipping upgrade${STD}"; echo
12+
echo "${GREEN}Your system is on v${VERSION} (final version)${STD}"; echo
1713

1814
else
1915

@@ -25,29 +21,6 @@ else
2521
sudo sh -c "curl -L https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose"
2622
sudo chmod +x /usr/local/bin/docker-compose
2723

28-
# Parameterize everything
29-
30-
[[ ! -f ${CONFIGVARS}/media ]] && echo "/mnt/google" > ${CONFIGVARS}/media
31-
[[ ! -f ${CONFIGVARS}/rclonemount ]] && echo "/mnt/rclone" > ${CONFIGVARS}/rclonemount
32-
[[ ! -f ${CONFIGVARS}/rclonepassword ]] && echo "Go0by" > ${CONFIGVARS}/rclonepassword
33-
[[ ! -f ${CONFIGVARS}/rcloneusername ]] && echo "gooby" > ${CONFIGVARS}/rcloneusername
34-
[[ ! -f ${CONFIGVARS}/localfiles ]] && echo "/mnt/local" > ${CONFIGVARS}/localfiles
35-
[[ ! -f ${CONFIGVARS}/uploads ]] && echo "/mnt/uploads" > ${CONFIGVARS}/uploads
36-
37-
# Replace MOUNTTO with MEDIA in MergerFS service
38-
39-
cat /etc/systemd/system/mergerfs.service | grep "MEDIA" > /dev/null
40-
if ! [[ ${?} -eq 0 ]]; then
41-
sudo sed -i "s/MOUNTTO/MEDIA/g" /etc/systemd/system/mergerfs.service
42-
fi
43-
44-
# Replace UNSYNCED with LOCALFILES in MergerFS service
45-
46-
cat /etc/systemd/system/mergerfs.service | grep "UNSYNCED" > /dev/null
47-
if ! [[ ${?} -eq 0 ]]; then
48-
sudo sed -i "s/UNSYNCED/LOCALFILES/g" /etc/systemd/system/mergerfs.service
49-
fi
50-
5124
# Finalizing upgrade
5225

5326
echo; echo "${GREEN}Upgrade to v${VERSION} complete... proceeding${STD}"; echo

scripts/cron/upgradev3.sh

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)