Deploy And Update Branded Linux Desktop Clients
Introduction
As an ownBrander user, you can enable the build of branded Linux in the “Desktop” section of your ownCloud account. You can download a *.tar
file which contains everything to set up complete self-hosted Linux repositories for the selected Linux distributions.
Setup
This is the content of mycloud-2.10.0.6752-linux.tar
:
mycloud-2.10.0.6752-linux
├── CentOS_7
│ └── …
├── Debian_10
│ └── …
├── Debian_11
│ └── …
├── Fedora_33
│ └── …
├── Fedora_34
│ └── …
├── Fedora_35
│ └── …
├── Ubuntu_18.04
│ └── …
├── Ubuntu_20.04
│ └── …
├── Ubuntu_21.04
│ └── …
├── Ubuntu_21.10
│ └── …
├── download
│ ├── CentOS.html
│ ├── Debian.html
│ ├── Fedora.html
│ ├── Ubuntu.html
│ ├── allplatforms.html
│ ├── assets
│ │ ├── application.css
│ │ ├── application.js
│ │ ├── arch.png
│ │ ├── centos.png
│ │ ├── debian.png
│ │ ├── download.html
│ │ ├── favicon.png
│ │ ├── fedora.png
│ │ ├── global-navigation-data-en.js
│ │ ├── globalnav-im.png
│ │ ├── header-logo.png
│ │ ├── opensuse.png
│ │ ├── repo.cfg
│ │ ├── rhel.png
│ │ ├── sl.png
│ │ ├── sle.png
│ │ ├── ubuntu.png
│ │ ├── univention.png
│ │ ├── unknown.png
│ │ └── ymp-added-repos.txt
│ ├── bin
│ │ └── repo-admin.py
│ ├── download.json
│ ├── example.sh
│ ├── index.html
│ ├── openSUSE.html
│ └── ymp
│ ├── openSUSE_Leap_15.2
│ │ └── mycloud-client.ymp
│ ├── openSUSE_Leap_15.3
│ │ └── mycloud-client.ymp
│ └── openSUSE_ymp.html
├── openSUSE_Leap_15.2
│ └── …
└── openSUSE_Leap_15.3
├── INSTALL.sh
├── PREINSTALL.sh
├── libmycloudsync-devel-2.10.0-6752.x86_64.rpm
├── ocqt51210-libQt5Concurrent5-5.12.10-lp153.15.1.x86_64.rpm
├── ocqt51210-libQt5Core5-5.12.10-lp153.15.1.x86_64.rpm
├── ocqt51210-libQt5DBus5-5.12.10-lp153.15.1.x86_64.rpm
├── ocqt51210-libQt5Gui5-5.12.10-lp153.15.1.x86_64.rpm
├── ocqt51210-libQt5Network5-5.12.10-lp153.15.1.x86_64.rpm
├── ocqt51210-libQt5PrintSupport5-5.12.10-lp153.15.1.x86_64.rpm
├── ocqt51210-libQt5Sql5-5.12.10-lp153.15.1.x86_64.rpm
├── ocqt51210-libQt5Widgets5-5.12.10-lp153.15.1.x86_64.rpm
├── ocqt51210-libQt5Xml5-5.12.10-lp153.15.1.x86_64.rpm
├── ocqt51210-libqt5-qtsvg-5.12.10-lp153.2.1.x86_64.rpm
├── ocqt51210-libqt5-qttranslations-5.12.10-lp153.2.1.x86_64.rpm
├── ocqt51210-libqt5-qtwayland-5.12.10-lp153.18.1.x86_64.rpm
├── ocqt51210-qt5keychain1-0.12.0-lp153.3.1.x86_64.rpm
├── repodata
│ ├── 3087af5cd89a88977dc9d04e5a3724c573b5b1da3da26bf39931c35f30f00b04-primary.xml.gz
│ ├── c0ee1520c439b5272490d193ceb9a31230b9cb7de16dd88565e1c8f6218f006b-other.xml.gz
│ ├── da70c01f9d56865f5792e19529fe3b5cdbd5dd94162fbd3e117577ead7a422cf-filelists.xml.gz
│ ├── repomd.xml
│ ├── repomd.xml.asc
│ └── repomd.xml.key
├── mycloud-client-2.10.0-6752.x86_64.rpm
├── mycloud-client-doc-2.10.0-6752.x86_64.rpm
├── mycloud-client-dolphin-2.10.0-6752.x86_64.rpm
├── mycloud-client-nautilus-2.10.0-6752.x86_64.rpm
├── mycloud-client-nemo-2.10.0-6752.x86_64.rpm
├── mycloud-client-overlays-icons-2.10.0-6752.x86_64.rpm
├── mycloud-client.ymp
├── mycloud.repo
└── src
├── mycloud-client-2.10.0-6752.src.rpm
└── mycloud-client-overlays-2.10.0-6752.src.rpm
The download folder provides detailed instructions for your users at download/index.html
about how to install the branded Linux clients on the selected Linux distributions. All location information in the HTML files is set to download.example.com
. All metadata in the repo is set to download.example.com
too.
The download folder contains a shell script (/download/example.sh
). This allows you to modify the HTML and the repo itself according to your repo location on your webserver.
- download/example.sh
-
#! /bin/sh # # This example demonstrates how to call repo-admin.py # You will need to call repo-admin.py with your download url if the url shown below differs. # Basic auth username and password is supported in the url. # # You can customitze the main html file and re-run repo-admin.py later. # For a server without https support use --insecure --url http://... # set -euxo pipefail cd "$(dirname "${0}")" opt=() # if a .repo-admin-prefix file is found in a parent directory, --url can be omitted opt+=("--url" "http://download.example.com/repo") python3 bin/repo-admin.py "${opt[@]}" -d 'download' -p '.*-client' -i 'index.html' -f ..
The url after unpacking is an invalid url. You must change example.sh before it can be run.
-
Either
-
replace the url with the correct url leading to the exact folder in which the archive was unpacked
(ending in…/mycloud-2.10.0.6752-linux/
here).
-
-
Or
-
Delete (or comment out) the line containing the url.
-
Make sure there is a
.repo-admin-prefix
file in the parent folder of the unpacked archive (here next tomycloud-2.10.0.6752-linux
) -
Its contents is the base URL leading up to this parent folder.
Example: if the correct--url
parameter is:
http://cloud.example.com/install/mycloud-2.10.0.6752-linux/
then the prefix file can be created like this:-
cd …
# go to the parent folder of the unpacked archive. -
echo "http://cloud.example.com/install" > .repo-admin-prefix
# this needs to be done only once.
-
-
Then execute the script with bash example.sh
and check the …/download/index.html
that is printed.
Notice: When the URL starts with http://
then the --insecure
option is implicit and need not be specified.