OrangePi AIpro自带镜像系统已预装了docker,这里我们直接基于docker安装owncloud。
准备
- 切换用户: HwHiAiUser 默认密码:Mind@123
su HwHiAiUser
- 创建文件夹
sudo mkdir /home/SummerGao/owncloud-docker-server
- 切换至刚创建的文件夹下
cd /home/SummerGao/owncloud-docker-server
-
docker 添加国内镜像源
- 修改 daemon.json
sudo vim /etc/docker/daemon.json
2. 添加:
"https://ox288s4f.mirror.aliyuncs.com",
"http://hub-mirror.c.163.com",
"https://mirror.ccs.tencentyun.com"
3. 修改完如下:
4. 重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker
安装
1. 创建:docker-compose.yml
sudo vim docker-compose.yml
2. 编辑内容如下:
version: "3"
volumes:
files:
driver: local
mysql:
driver: local
redis:
driver: local
services:
owncloud:
image: owncloud/server:${OWNCLOUD_VERSION}
container_name: owncloud_server
restart: always
ports:
- ${HTTP_PORT}:8080
depends_on:
- mariadb
- redis
environment:
- OWNCLOUD_DOMAIN=${OWNCLOUD_DOMAIN}
- OWNCLOUD_TRUSTED_DOMAINS=${OWNCLOUD_TRUSTED_DOMAINS}
- OWNCLOUD_DB_TYPE=mysql
- OWNCLOUD_DB_NAME=owncloud
- OWNCLOUD_DB_USERNAME=owncloud
- OWNCLOUD_DB_PASSWORD=owncloud
- OWNCLOUD_DB_HOST=mariadb
- 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:
- files:/mnt/data
mariadb:
image: mariadb:10.11 # minimum required ownCloud version is 10.9
container_name: owncloud_mariadb
restart: always
environment:
- MYSQL_ROOT_PASSWORD=owncloud
- MYSQL_USER=owncloud
- MYSQL_PASSWORD=owncloud
- MYSQL_DATABASE=owncloud
- MARIADB_AUTO_UPGRADE=1
command: ["--max-allowed-packet=128M", "--innodb-log-file-size=64M"]
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-u", "root", "--password=owncloud"]
interval: 10s
timeout: 5s
retries: 5
volumes:
- mysql:/var/lib/mysql
redis:
image: redis:6
container_name: owncloud_redis
restart: always
command: ["--databases", "1"]
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
volumes:
- redis:/data
配置:
- 公开端口 8080,允许 HTTP 连接。
- 使用单独的 MariaDB 和 Redis 容器。
- 将数据和 MySQL 数据目录挂载到主机上以进行持久存储。
3. 创建一个 .env 配置文件,其中包含所需的配置设置。
sudo cat << EOF > .env
OWNCLOUD_VERSION=10.14
OWNCLOUD_DOMAIN=localhost:8080
OWNCLOUD_TRUSTED_DOMAINS=localhost
ADMIN_USERNAME=admin
ADMIN_PASSWORD=admin
HTTP_PORT=8080
EOF
只需要调整一些设置,这些是:
Setting Name | Description | Example |
---|---|---|
| The ownCloud version |
|
| The ownCloud domain |
|
| The ownCloud trusted domains |
|
| The admin username |
|
| The admin user’s password |
|
| The HTTP port to bind to |
|
以上配置,假设您是在本地安装。对于远程访问,需要更新 OWNCLOUD_DOMAIN 和 OWNCLOUD_TRUSTED_DOMAINS 的值添加可访问服务器的主机名或 IP 地址。
4. 构建并启动容器
sudo docker compose up -d
5. 检查所有容器是否已成功启动
sudo docker compose ps
通过运行 docker compose ps 检查所有容器是否已成功启动。如果它们都正常工作,您应该会看到类似于以下内容的输出:
Name | Command | State | Ports |
---|---|---|---|
owncloud_mariadb | docker-entrypoint.sh --max … | Up (healthy) | 3306/tcp |
owncloud_redis | docker-entrypoint.sh --dat … | Up (healthy) | 6379/tcp |
owncloud_server | /usr/bin/entrypoint /usr/b … | Up (healthy) | 0.0.0.0:8080→8080/tcp |
在其中,您可以看到数据库、ownCloud 和 Redis 容器正在运行,并且可以通过主机上的端口 8080 访问 ownCloud。
尽管容器已启动并正在运行,但 ownCloud 可能仍需要几分钟才能完全运行。 检查日志输出:
sudo docker compose logs --follow owncloud
等到输出显示正在启动 apache daemon...,然后再访问 Web UI。
重要说明:
所有重要数据在以下情况后仍然存在:
sudo docker compose down
sudo docker compose up -d
有些细节会丢失,例如默认应用程序在卸载后可能会重新出现。
6. 访问 Web UI
要登录 ownCloud UI,请在您选择的浏览器中打开 http://localhost:8080,您将在其中看到标准 ownCloud 登录屏幕,如下图所示。
用户名和密码是您之前存储在 .env 中的凭据。请注意,即使您更改 .env 中的值,这些值也不会在部署期间发生更改。
7. 停止容器
sudo docker compose stop
要停止并删除容器以及相关网络、镜像和卷:
sudo docker compose down --rmi all --volumes
参考
Installing with Docker :: Documentation for ownCloud (A Kiteworks Company)