0564: Running OwnCloud in Docker on Linux
This commit is contained in:
parent
01a4df4c8b
commit
a0c3174dad
1 changed files with 141 additions and 0 deletions
141
0564.html
Normal file
141
0564.html
Normal file
|
@ -0,0 +1,141 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Running OwnCloud in Docker on Linux</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$('textarea').each(function(i,e){
|
||||
theTextarea = $(this);
|
||||
theTextarea.height((theTextarea[0].scrollHeight-5) +'px');
|
||||
});
|
||||
|
||||
$('li').each(function(i,e){
|
||||
var uuid = 'li_' + Math.floor(Math.random() * Math.floor(1000000)).toString() + '_' + i.toString();
|
||||
$(this).contents().wrap('<span id="'+ uuid +'"><label for="cb_'+ uuid +'"></label></span>');
|
||||
$(this).prepend('<input type="checkbox" class="completeBox" id="cb_' + uuid +'" rel="'+ uuid +'" />')
|
||||
});
|
||||
|
||||
$('code,div.codeBlock,textarea.codeBlock').each(function(i,e){
|
||||
theElement = $(this);
|
||||
var lines = theElement.html().split("\n");
|
||||
theElement.empty();
|
||||
for(l=0;l<lines.length;l++){
|
||||
if($.trim(lines[l]) != '' && $.trim(lines[l]).substr(0,1) != '#' && $.trim(lines[l]).indexOf(' #') == -1 && lines[l].substr(0, 4).toUpperCase() != 'REM '){
|
||||
theElement.append('<input type="image" src="images/clipboard.png" value="" class="copy-text" rel="copy_'+ i +'_'+ l +'" data-clipboard-text="'+ $.trim(lines[l].replace(/"/g, '"')) +'" /><span id="copy_'+ i +'_'+ l +'">'+ lines[l] +'</span>');
|
||||
} else {
|
||||
theElement.append(lines[l]);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on('click','input.copy-text',function(){
|
||||
theButton = $(this);
|
||||
$('input.copy-text').attr('src','images/clipboard.png');
|
||||
$('span.copy-animation,span.copy-animation-ps').removeClass('copy-animation copy-animation-ps');
|
||||
try {
|
||||
if($('#'+ theButton.attr('rel')).parent('div').hasClass('PS')){
|
||||
$('#'+ theButton.attr('rel')).addClass('copy-animation-ps');
|
||||
} else if($('#'+ theButton.attr('rel')).parent('div').hasClass('CMD')){
|
||||
$('#'+ theButton.attr('rel')).addClass('copy-animation-cmd');
|
||||
} else {
|
||||
$('#'+ theButton.attr('rel')).addClass('copy-animation');
|
||||
}
|
||||
navigator.clipboard.writeText(theButton.data('clipboard-text').replace(/<[^>]*>?/gm, ''));
|
||||
theButton.attr('src','images/clipboard_active.png');
|
||||
} catch(err) {
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
$(document).on('click','input.completeBox',function(){
|
||||
theBox = $(this);
|
||||
$('#'+ theBox.attr('rel')).addClass('strikethrough');
|
||||
theBox.prop('disabled',true);
|
||||
theBox.parent('li').prevAll().each(function(i,e){
|
||||
theLI = $(this);
|
||||
if(theLI.find('input[type=checkbox]').not(':checked')){
|
||||
$('#'+ theLI.find('input[type=checkbox]').attr('rel')).addClass('strikethrough');
|
||||
theLI.find('input[type=checkbox]').prop('checked',true).prop('disabled',true);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
if(window.self !== window.top){
|
||||
window.parent.$('iframe.stepsFrame').height((this['scrollingElement']['scrollHeight']+20) +'px');
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<link href="css/steps.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="gridContainer">
|
||||
<div class="topMargin"></div>
|
||||
<div id="listName" class="topMargin">
|
||||
<h1>Running OwnCloud in Docker on Linux</h1>
|
||||
</div>
|
||||
<div></div>
|
||||
<div id="content">
|
||||
<h2>What is OwnCloud?</h2>
|
||||
|
||||
<blockquote><em>OwnCloud is a suite of client-server software for creating file hosting services and using them. OwnCloud is functionally very similar to the widely used Dropbox, with the primary functional difference being that OwnCloud is free and open-source, and thereby allowing anyone to install and operate it without charge on a private server. -<a href="https://en.wikipedia.org/wiki/OwnCloud" target="_blank">https://en.wikipedia.org/wiki/OwnCloud</a></em></blockquote>
|
||||
|
||||
<h2>Installing Docker</h2>
|
||||
|
||||
<ol>
|
||||
<li>Log into the Linux based device</li>
|
||||
<li>Run the following commands in the terminal
|
||||
<div class="codeBlock"># install prerequisites<br />
|
||||
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg-agent -y<br />
|
||||
# add docker gpg key<br />
|
||||
curl -fsSL https://download.docker.com/linux/$(awk -F'=' '/^ID=/{ print $NF }' /etc/os-release)/gpg | sudo apt-key add -<br />
|
||||
# add docker software repository<br />
|
||||
sudo add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/$(awk -F'=' '/^ID=/{ print $NF }' /etc/os-release) $(lsb_release -cs) stable"<br />
|
||||
# install docker<br />
|
||||
sudo apt install docker-ce docker-compose containerd.io -y<br />
|
||||
# enable and start docker service<br />
|
||||
sudo systemctl enable docker && sudo systemctl start docker<br />
|
||||
# add the current user to the docker group<br />
|
||||
sudo usermod -aG docker $USER<br />
|
||||
# reauthenticate for the new group membership to take effect<br />
|
||||
su - $USER</div>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<h2>Running OwnCLoud</h2>
|
||||
|
||||
<ol>
|
||||
<li>Now that Docker is installed, run the following commands to setup the OwnCloud Docker container and run it
|
||||
<div class="codeBlock"># create working directories<br />
|
||||
mkdir /home/$USER/docker/mariadb -p && mkdir /home/$USER/docker/owncloud -p<br />
|
||||
# set owner of working directories<br />
|
||||
sudo chown "$USER":"$USER" /home/"$USER"/docker -R<br />
|
||||
# create owncloud network<br />
|
||||
docker network create owncloud<br />
|
||||
# run the mariadb docker container<br />
|
||||
docker run -d --name mariadb --network owncloud --network-alias db -e MYSQL_ROOT_PASSWORD=r00tp@ss -e MYSQL_USER=owncloud_rw -e MYSQL_PASSWORD=OwnCl0ud! -e MYSQL_DATABASE=owncloud -v /home/$USER/docker/mariadb:/var/lib/mysql --restart=unless-stopped mariadb:latest<br />
|
||||
# run the owncloud docker container<br />
|
||||
docker run -d --name owncloud --network owncloud -p 8080:80 -v /home/$USER/docker/owncloud:/var/www/html --restart=unless-stopped owncloud:latest</div>
|
||||
</li>
|
||||
<li>Open a web browser and navigate to http://DNSorIP:8080</li>
|
||||
<li>The Owncloud setup screen should be displayed</li>
|
||||
<li>Enter a username and password</li>
|
||||
<li>Click the storage & database link to expand the section</li>
|
||||
<li>Select MySQL and fill out the database connetion information as follows
|
||||
<p>username: owncloud_rw<br />
|
||||
password: OwnCl0ud!<br />
|
||||
database name: owncloud<br />
|
||||
database host: db</p>
|
||||
</li>
|
||||
<li>Click Finish Setup</li>
|
||||
<li>After a few moments of setup Owncloud will be up and running</li>
|
||||
<li>Login with the username and password created a moment ago</li>
|
||||
</ol>
|
||||
|
||||
<p>Documentation: <a href="https://hub.docker.com/_/nextcloud" target="_blank">https://hub.docker.com/_/owncloud</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
Loading…
Add table
Reference in a new issue