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