我还记得我刚拥有服务器的时候,总是想搭建一个云盘,可以将自己的东西存上去。
当然了,以自己的能力,自己手搓一个网盘是不可能的。
于是,我找各种开源网盘,如:Seafile、owncloud……最终挑到一款适合我的网盘——Nextcloud。为什么说适合我?并不是说nextcloud的功能适合我,而是因为相较其他网盘的界面,我觉得nextcloud更好看一些。
下面开始用1panel面板搭建nextcloud。如果你vps上没有安装1panel面板,可以看我之前的文章。
首先安装nextcloud的数据库,建议用PostgreSQL。
打开1panel的应用商店,搜索PostgreSQL。
这是postgresql的安装界面:
设置好自己的用户名和密码,待会要用。
然后点击编辑compose文件,下面是我的配置你可以直接复制粘贴:
services:
postgres:
container_name: ${CONTAINER_NAME}
image: postgres:18.3-alpine
restart: always
environment:
- POSTGRES_USER=${PANEL_DB_ROOT_USER}
- POSTGRES_PASSWORD=${PANEL_DB_ROOT_PASSWORD}
ports:
- ${PANEL_APP_PORT_HTTP}:5432
volumes:
- /opt/nextcloud/nextcloud-db:/var/lib/postgresql
healthcheck:
test: ["CMD", "pg_isready", "-h", "127.0.0.1", "-p", "5432", "-q", "-U", "${PANEL_DB_ROOT_USER}"]
start_period: 20s
interval: 30s
retries: 5
timeout: 5s
networks:
- 1panel-network
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true
所有东西配置好后,点击确认。然后就会安装postgresql。
这是正在拉取postgresql镜像:
这是postgresql安装好了:
现在来安装nextcloud。
打开1panel的应用商店,搜索nextcloud。
这是nextcloud安装界面:
这里先把外部端口访问勾选上。
然后点击编辑compose文件,下面是我的配置你可以直接复制粘贴:
services:
nextcloud:
image: linuxserver/nextcloud:33.0.0
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_HTTPS}:80"
volumes:
- "/opt/nextcloud/config:/config"
- "/opt/nextcloud/data:/data"
environment:
- PUID=1000
- PGID=1000
- TZ=${TIME_ZONE}
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true
注意:这段配置中的端口改成80(默认应该是443),不然可能会出问题。我记得我第一次搭建nextcloud是默认443端口,结果后面出了问题,最后改成80才配置成功。
所有东西配置好后,点击确认。然后就会安装nextcloud。
这是正在拉取nextcloud镜像:
这是nextcloud安装好了:
现在就可以访问nextcloud了。
假设你的vps的IP是:145.26.65.200。
因为我在nextcloud的配置界面设置的端口是8080。所以我现在应该访问:http://145.26.65.200:8080,这个就是nextcloud的地址。
一切正常的话,会看到:
点击PostgreSQL,开始填写相关信息:
注意:
首先创建自己的管理员账号和密码。
接着配置数据库。postgresql官方镜像的逻辑是:如果没有指定POSTGRES_DB,默认只创建一个数据库,名字等于POSTGRES_USER。因为我们刚才并没有指定POSTGRES_DB,所以这里的数据库名就是我们在配置postgresql的用户名,即admin。密码则是配置postgresql的密码。
紧接着是数据库主机,填postgresql:5432就行了。
配置好后,点击安装即可。
等待一会就安装好了。
选择你需要的功能安装一下即可。
出现这一幕,就代表你的nextcloud可以使用了。