创建本身的共享云盘 - 使用ownCloud

创建本身的共享云盘,有必要吗?固然。万一那些个牛轰轰的关张了呢?事实上一些已经关张了,还活着的某度会偷偷地进去翻你的东西,甚至把它看不顺眼的文件直接删除。git

这里介绍一个方法,使用ownCloud建立本身的网盘。github

ownCloud 能够经过Docker部署,使用 the official ownCloud Docker image。该官方镜像设计为与宿主机文件系统的数据卷一块儿工做,包含独立的 MariaDBRedis containers。配置以下:web

  • 暴露端口 80 和 443,容许 HTTP 和 HTTPS 链接访问。
  • 挂载宿主机的 data 和 MySQL data 目录,用于持久存储。

本地安装

建立一个新的项目目录,而后下载 docker-compose.ymlthe ownCloud Docker GitHub repository 到这个指定的本地目录。 下一步,建立 一个 .env 配置文件,其中包含配置参数。只有不多的参数须要配置,以下:redis

设置参数名称 描述 举例
OWNCLOUD_VERSION The ownCloud version latest
OWNCLOUD_DOMAIN The ownCloud domain localhost
ADMIN_USERNAME The admin username admin
ADMIN_PASSWORD The admin user’s password admin
HTTP_PORT The HTTP port to bind to 80
HTTPS_PORT The HTTP port to bind to 443

而后,你能够启动容器了。使用 Docker command-line tool。下面的例子,使用 Docker Compose来启动相关的容器服务。docker

使用 docker参考 in the GitHub repository浏览器

# Create a new project directory
mkdir owncloud-docker-server

cd owncloud-docker-server

# Copy docker-compose.yml from the GitHub repository
wget https://raw.githubusercontent.com/owncloud-docker/server/master/docker-compose.yml

# Create the environment configuration file
cat << EOF > .env
OWNCLOUD_VERSION=10.0
OWNCLOUD_DOMAIN=localhost
ADMIN_USERNAME=admin
ADMIN_PASSWORD=admin
HTTP_PORT=80
HTTPS_PORT=443
EOF

# Build and start the container
docker-compose up -d

当处理完成,检查是否全部的容器都已经成功启动,经过运行 docker-compose ps。若是所有成功,结果以下:dom

Name                     Command               State                     Ports
-------------------------------------------------------------------------------------------------------
server_db_1         /usr/bin/entrypoint /bin/s ...   Up      3306/tcp
server_owncloud_1   /usr/local/bin/entrypoint  ...   Up      0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
server_redis_1      /bin/s6-svscan /etc/s6           Up      6379/tcp

你能够看到, database、 ownCloud和Redis containers已经运行,ownCloud 服务能够经过宿主机端口 443 和 80访问,即https和http端口。tcp

当全部容器刚开始运行,ownCloud须要几分钟才能彻底可用。若是运行 docker-compose logs --follow owncloud 查看日志输出,能够看到不少信息的输出到控制台窗口,稍等一下子,当消息减小时就能够来访问web UI了。ui

登陆界面

打开浏览器,进入 https://localhost 。能够看到ownCloud login screen。spa

用户名和密码是admin,是在上面的.env 配置里指定的。

第一次经过 HTTPS访问时,浏览器会出现警告说 SSL certificate 是自签名的。不过, the self-signed certificate can be overwritten with a valid cert, within the host volume.

中止容器

假定你使用的 docker-compose, 如前面的例子,中止容器使用 docker-compose stop。另外,可使用 docker-compose down 中止和删除容器,包括其相关的networks, images, 和 volumes。

升级 ownCloud

当ownCloud发布新版本时,你应该更新运行的容器实例,以下:

首先,进入 .yaml.env 文件的目录。

而后,让ownCloud 进入maintenance mode,经过下面的命令:

docker-compose exec server occ maintenance:mode --on

第三,建立备份,以防止升级过程出错,使用下面的命令:

docker-compose exec db backup

这假定你使用 the default database container from Webhippie

第四,关闭容器。

docker-compose down

而后,更新 ownCloud 在 .env 和 YAML 文件中的版本号。可使用 sed 来替换,以下:

# Make sure that you adjust the example to match your installation.
sed -i 's/^OWNCLOUD_VERSION=.*$/OWNCLOUD_VERSION=<newVersion>/' /compose/*/.env

查看下,是否都改完、改正确了:

cat .env

最后,从新启动服务:

docker-compose up -d

如今新版的 ownCloud 就运行起来了。

备份

所存储的文件是挂在容器外面的,不会受到升级的任何影响。

可是,owncloud只是存储了单份的拷贝,对于重要的数据,须要本身创建存储的按期备份机制。

相关文章
相关标签/搜索