mirror of
https://github.com/m1ngsama/automa.git
synced 2025-12-24 10:51:20 +00:00
Merge pull request #1 from m1ngsama/feature/nextcloud
feat(nextcloud): add local nextcloud docker compose setup
This commit is contained in:
commit
97e44ab818
3 changed files with 127 additions and 0 deletions
16
nextcloud/.env.example
Normal file
16
nextcloud/.env.example
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
# 时区设置
|
||||||
|
TZ=Asia/Shanghai
|
||||||
|
|
||||||
|
# Nextcloud 管理员账号(首次启动用于初始化)
|
||||||
|
NEXTCLOUD_ADMIN_USER=admin
|
||||||
|
NEXTCLOUD_ADMIN_PASSWORD=ChangeMe123!
|
||||||
|
NEXTCLOUD_TRUSTED_DOMAINS=localhost
|
||||||
|
|
||||||
|
# MariaDB 数据库配置
|
||||||
|
MYSQL_ROOT_PASSWORD=ChangeRoot123!
|
||||||
|
MYSQL_DATABASE=nextcloud
|
||||||
|
MYSQL_USER=nextcloud
|
||||||
|
MYSQL_PASSWORD=ChangeDb123!
|
||||||
|
|
||||||
|
# Redis 密码
|
||||||
|
REDIS_PASSWORD=ChangeRedis123!
|
||||||
40
nextcloud/README.md
Normal file
40
nextcloud/README.md
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
# Nextcloud 本地存储中心
|
||||||
|
|
||||||
|
该目录提供一个可快速启动的 Nextcloud 本地私有云(包含 Nextcloud、MariaDB、Redis)。
|
||||||
|
|
||||||
|
## 目录结构
|
||||||
|
```
|
||||||
|
nextcloud/
|
||||||
|
├── compose.yaml # Docker Compose 配置
|
||||||
|
├── .env.example # 环境变量示例,请复制为 .env 后修改
|
||||||
|
└── README.md # 当前说明文档
|
||||||
|
```
|
||||||
|
|
||||||
|
## 使用步骤
|
||||||
|
1. 复制环境变量文件并按需修改:
|
||||||
|
```bash
|
||||||
|
cp .env.example .env
|
||||||
|
```
|
||||||
|
2. 启动服务:
|
||||||
|
```bash
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
3. 首次启动后访问 `http://localhost:8080`,使用 `.env` 中配置的管理员账号登录并完成初始化。
|
||||||
|
|
||||||
|
## 默认组件
|
||||||
|
- Nextcloud `nextcloud:stable-apache`(暴露端口 `8080`)
|
||||||
|
- MariaDB 11(持久化在 `nextcloud_db` 卷)
|
||||||
|
- Redis 7(启用密码,提升缓存性能)
|
||||||
|
|
||||||
|
## 数据持久化
|
||||||
|
所有关键数据均挂载到命名卷,位于本地 Docker 数据目录,可根据需要调整为绑定宿主机路径:
|
||||||
|
- `nextcloud_html` / `nextcloud_data` / `nextcloud_config` / `nextcloud_apps`
|
||||||
|
- `nextcloud_db`
|
||||||
|
- `nextcloud_redis`
|
||||||
|
|
||||||
|
## 常用命令
|
||||||
|
- 查看日志:`docker compose logs -f nextcloud`
|
||||||
|
- 停止服务:`docker compose down`
|
||||||
|
- 备份数据库:`docker exec nextcloud-db mariadb-dump -unextcloud -p<密码> nextcloud > backup.sql`
|
||||||
|
|
||||||
|
根据需要可进一步扩展(例如反向代理、对象存储适配等)。
|
||||||
71
nextcloud/compose.yaml
Normal file
71
nextcloud/compose.yaml
Normal file
|
|
@ -0,0 +1,71 @@
|
||||||
|
version: "3.9"
|
||||||
|
|
||||||
|
services:
|
||||||
|
nextcloud:
|
||||||
|
image: nextcloud:stable-apache
|
||||||
|
container_name: nextcloud
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
- redis
|
||||||
|
ports:
|
||||||
|
- "8080:80"
|
||||||
|
environment:
|
||||||
|
- TZ=${TZ:-Asia/Shanghai}
|
||||||
|
- NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN_USER:-admin}
|
||||||
|
- NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD:-ChangeMe123!}
|
||||||
|
- NEXTCLOUD_TRUSTED_DOMAINS=${NEXTCLOUD_TRUSTED_DOMAINS:-localhost}
|
||||||
|
- MYSQL_HOST=db
|
||||||
|
- MYSQL_DATABASE=${MYSQL_DATABASE:-nextcloud}
|
||||||
|
- MYSQL_USER=${MYSQL_USER:-nextcloud}
|
||||||
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD:-ChangeDb123!}
|
||||||
|
- REDIS_HOST=redis
|
||||||
|
- REDIS_HOST_PASSWORD=${REDIS_PASSWORD:-ChangeRedis123!}
|
||||||
|
volumes:
|
||||||
|
- nextcloud_html:/var/www/html
|
||||||
|
- nextcloud_data:/var/www/html/data
|
||||||
|
- nextcloud_config:/var/www/html/config
|
||||||
|
- nextcloud_apps:/var/www/html/custom_apps
|
||||||
|
networks:
|
||||||
|
- nextcloud-network
|
||||||
|
|
||||||
|
db:
|
||||||
|
image: mariadb:11
|
||||||
|
container_name: nextcloud-db
|
||||||
|
restart: unless-stopped
|
||||||
|
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb_read_only_compressed=OFF
|
||||||
|
environment:
|
||||||
|
- TZ=${TZ:-Asia/Shanghai}
|
||||||
|
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-ChangeRoot123!}
|
||||||
|
- MYSQL_DATABASE=${MYSQL_DATABASE:-nextcloud}
|
||||||
|
- MYSQL_USER=${MYSQL_USER:-nextcloud}
|
||||||
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD:-ChangeDb123!}
|
||||||
|
volumes:
|
||||||
|
- nextcloud_db:/var/lib/mysql
|
||||||
|
networks:
|
||||||
|
- nextcloud-network
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: redis:7-alpine
|
||||||
|
container_name: nextcloud-redis
|
||||||
|
restart: unless-stopped
|
||||||
|
command: ["redis-server", "--requirepass", "${REDIS_PASSWORD:-ChangeRedis123!}"]
|
||||||
|
environment:
|
||||||
|
- TZ=${TZ:-Asia/Shanghai}
|
||||||
|
- REDIS_PASSWORD=${REDIS_PASSWORD:-ChangeRedis123!}
|
||||||
|
volumes:
|
||||||
|
- nextcloud_redis:/data
|
||||||
|
networks:
|
||||||
|
- nextcloud-network
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
nextcloud_html:
|
||||||
|
nextcloud_data:
|
||||||
|
nextcloud_config:
|
||||||
|
nextcloud_apps:
|
||||||
|
nextcloud_db:
|
||||||
|
nextcloud_redis:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
nextcloud-network:
|
||||||
|
driver: bridge
|
||||||
Loading…
Reference in a new issue