version: '3'
volumes:
nextcloud:
db:
services:
db:
image: mariadb
restart: always
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=dbrootpswd@ #修改成你的密码
- MYSQL_PASSWORD=dbpswd@ #修改成你的密码
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
redis:
image: redis
restart: always
command: redis-server --requirepass redispswd@ #修改成你的密码
app:
image: nextcloud:stable
restart: always
ports:
- 9000:80
links:
- db
- redis
volumes:
- nextcloud:/var/www/html
environment:
- PUID=1000
- PGID=1000
- TZ=Aisa/Shanghai
- MYSQL_PASSWORD=dbpswd@ #修改成你的密码
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db
- REDIS_HOST_PASSWORD=redispswd@ #修改成你的密码
depends_on:
- db
- redis
安装docker,安装Ubuntu发行版本
创建docker-compose.yml文件
运行命令:docker-compose up -d
打开浏览器:ip:9000
ip你电脑的ip地址
cron配置,wsl下没有相关计划任务。只有用Windows创建定时计划。执行的文件是在docker容器里,所以需要创建一个bat文件。里面写上:
@ECHO OFF
docker exec --user www-data c01288fca9e9 php /var/www/html/cron.php
EXIT
上面这串数字是容器ID,修改成你自己的容器ID,如果不清楚可以输入一下代码查询:
docker ps -a
显示内容如下:
再打开Windows【任务计划程序】创建任务
触发器》新建》(设置选择每天,高级设置配置重复任务间隔)
操作》新建》操作(启动程序)》设置程序(浏览你写的脚本)
常规》安全选项》选【不管用户是否登录都要运行】,打勾【使用最高权限运行】
修改任务计划程序时候如果提示缺参数什么的,到【常规】》【安全选项】》【更改用户或组】》【输入管理员用户名】》【检查名称】》【确定】》【保存计划任务】
商店打不开,config.php添加如下两行
'appstoreenabled' => true,
'appstoreurl' => 'https://www.orcy.net/ncapps/v2/',
没有设置默认的电话区域,config.php添加如下
'default_phone_region' => 'CN',
redis配置,config.php添加如下
'memcache.local' => '\OC\Memcache\Redis',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
'host' => 'redis',
'port' => 6379,
'password' => 'redispswd@ ' #修改成和docker-compose中一样的密码。
),
记得把这段前面一句注释掉。
基本上大功告成了。