使用owncloud搭建个人网盘
个人经验记录,如有转载请注明来源。
搭建的过程中,如有本文未提到的问题,欢迎指出、评论探讨!
推荐使用nextcloud -> 传送门
文章目录
简介
都是一些废话,大佬们请直接看下文
owncloud
是一个开源的个人网盘解决方案,类似的项目还有nextcloud
。nextcloud更强大,强烈推荐至于为什么选择owncloud。
本文推荐在docker
环境中安装,官网提供了docker-compose.yml
文件,一键安装非常简单。
安装
Docker安装(推荐)
-
安装docker
# CentOS sudo yum -y install docker # Ubuntu sudo apt -y install docker.io
-
安装docker-compose
# CentOS yum -y install docker-compose # Ubuntu apt -y install docker-compose # 使用pip安装 pip install docker-compose
-
使用现成的yml文件
-
修改本机存储位置
vim docker-compose.yml
services: owncloud: image: owncloud/server:${OWNCLOUD_VERSION} restart: always ports: - ${HTTP_PORT}:8080 depends_on: - db - redis environment: - OWNCLOUD_DOMAIN=${OWNCLOUD_DOMAIN} - OWNCLOUD_DB_TYPE=mysql - OWNCLOUD_DB_NAME=owncloud - OWNCLOUD_DB_USERNAME=owncloud - OWNCLOUD_DB_PASSWORD=owncloud - OWNCLOUD_DB_HOST=db - OWNCLOUD_ADMIN_USERNAME=${ADMIN_USERNAME} - OWNCLOUD_ADMIN_PASSWORD=${ADMIN_PASSWORD} - OWNCLOUD_MYSQL_UTF8MB4=true - OWNCLOUD_REDIS_ENABLED=true - OWNCLOUD_REDIS_HOST=redis healthcheck: test: ["CMD", "/usr/bin/healthcheck"] interval: 30s timeout: 10s retries: 5 volumes: - <本地目录>:/mnt/data # 注意此处
-
创建配置文件
touch .env # 填入以下内容 # owncloud版本 OWNCLOUD_VERSION=10.2.1 OWNCLOUD_DOMAIN=localhost # 管理员名称 ADMIN_USERNAME=admin # 管理员密码 ADMIN_PASSWORD=admin # 外部访问的端口 HTTP_PORT=8080
-
后台启动容器
docker-compose up -d
-
访问web端
http://ip:8080
手动安装
详见官方文档(略)
使用
其实并没有什么好说的,介绍几个个人认为比较实用的功能,或者说叫
优点
-
作为个人网盘使用
-
速度相当可以
-
可以用客户端多硬盘备份,就算电脑炸了,硬盘泡水了,女朋友生气砸电脑…。都不用担心数据丢失了!
-
-
官方提供
全
客户端支持 ios、Windows、Linux、macOS、Android。- 想用哪个用哪个!so嗨皮
-
指定文件夹同步,多设备、多场景自动同步。接力?
- 比方说经常修改的思维导图,markdown、word等文档。
一处修改,处处同步
。类似苹果iCloud?有些地方就比iCloud强,比如说iCloud就没有Linux端的app。
- 比方说经常修改的思维导图,markdown、word等文档。
-
推荐使用个人电脑搭建
- 硬盘够大,2T够不够?不够再加块硬盘。
- 个人电脑上搭建需要解决
网络
问题- 需要做
内网穿透
- 这里推荐ngrok搭建内网穿透,当然花生壳、ddns动态域名解析也可以。
- 需要做
issues
数据库一直无法启动
-
查看日志
docker logs <container name / id>
-
发现原因
chown: changing ownership of ‘/var/lib/mysql/....‘: Permission denied
-
关闭selinux
# 查看状态 sestatus # 临时关闭 setenforce 0
General error: 1036 Table ‘/tmp/#sql_b6_0.MAI’ is read only
owncloud服务无法启动,某个表为只读
- Owncloud doesn’t start
- 修改
docker-compose.yml
,将image: webhippie/mariadb:latest
改为image: mariadb:latest
Mysql相关错误(db tables not created / 需要设置root密码之类的)
标题不好描述,主要是我忘了
- github issues
- in docker-compose.yml - change webhippie/mariadb to library/mariadb
- in docker-compose.yml - search and replace like this:
%s/MARIADB/MYSQL/g - in docker-compose.yml - change MYSQL_USERNAME to MYSQL_USER
- turn off SELINUX - setenforce 0
It now works for us.