跳至正文
Wener Notes

NextCloud

约 3 分钟阅读

Docker

  • /var/www/html - 主目录,需要更新
    • /custom_apps - 应用目录 - 安装或更新的应用
    • /config - 本地配置
    • /data 实际数据
    • /themes/<THEME> 主题
EnvDefaultDescription
SQLITE_DATABASE
MYSQL_DATABASE
MYSQL_USER
MYSQL_PASSWORD
MYSQL_HOST
POSTGRES_DB
POSTGRES_USER
POSTGRES_PASSWORD
POSTGRES_HOST可以包含端口,例如 postgres:5432
NEXTCLOUD_ADMIN_USER
NEXTCLOUD_ADMIN_PASSWORD
NEXTCLOUD_DATA_DIR/var/www/html/data存储用户数据的目录
NEXTCLOUD_TRUSTED_DOMAINS空格分割可信域名
NEXTCLOUD_UPDATE0如果自定义命令启动需要开启才会更新,使用默认 (apache-foreground, php-fpm) 启动的时候会触发更新
REDIS_HOSTRedis 用于文件锁
REDIS_HOST_PORT6379
SMTP_HOST
SMTP_SECURE可设置为 ssl
SMTP_PORT25 或 SSL 456
SMTP_AUTHTYPELOGIN
SMTP_NAME
SMTP_PASSWORD
MAIL_FROM_ADDRESS发信地址
MAIL_DOMAIN不设置则为 nextcloud 的域名
APACHE_DISABLE_REWRITE_IP设置为 1 禁用 IP 重写
TRUSTED_PROXIES空格分割的可信代理,支持 CIDR
OVERWRITEHOST指定 host,用于 TRUSTED_PROXIES 未生效的时候
OVERWRITEPROTOCOLhttp https
OVERWRITEWEBROOT
OVERWRITECONDADDR复写生效的来源地址
bash
# 指定数据库和账号密码则不需要进入到安装页面
# SQLite 文件在 /var/www/html/data/nextcloud.db
# 启动脚本 https://github.com/nextcloud/docker/blob/master/docker-entrypoint.sh
# 启动会检测 /var/www/html/version.php 版本号 - 如果没有则认为是新安装

# 单独目录映射
docker run -it --rm \
  -v $PWD/nextcloud/config:/var/www/html/config \
  -v $PWD/nextcloud/data:/var/www/html/data \
  -v $PWD/nextcloud/themes:/var/www/html/themes \
  -v $PWD/nextcloud/custom_apps:/var/www/html/custom_apps \
  -v $PWD/nextcloud/html:/var/www/html \
  -p 80:80 \
  -e SQLITE_DATABASE=nextcloud \
  -e NEXTCLOUD_ADMIN_USER=nextcloud \
  -e NEXTCLOUD_ADMIN_PASSWORD=nextcloud \
  --name nextcloud nextcloud:18

# 单个目录映射 - 会安装 300M 左右 - macos 较慢,访问也会慢
docker run -it --rm \
  -v $PWD/nextcloud:/var/www/html \
  -p 80:80 \
  -e SQLITE_DATABASE=nextcloud \
  -e NEXTCLOUD_ADMIN_USER=nextcloud \
  -e NEXTCLOUD_ADMIN_PASSWORD=nextcloud \
  --name nextcloud nextcloud:18

# 使用 www-data 账号进行操作
docker exec -it -u www-data nextcloud bash

# 禁用意义不大的应用
./occ app:disable firstrunwizard federation nextcloud_announcements support survey_client updatenotification
# 精选常用应用
for i in announcementcenter external impersonate limit_login_to_ip files_automatedtagging files_accesscontrol groupfolders notes user_ldap user_saml; do
  ./occ app:enable $i
done

# 安装常用应用
for i in admin_audit extract files_external files_texteditor group_everyone metadata user_ldap user_saml; do
  ./occ app:enable $i
done

# 官方推荐应用 - calendar,contacts,talk,mail,collaborative editing

# 社交应用
for i in circles talk social; do
  ./occ app:enable $i
done

# 事务应用
for i in calendar contacts mail deck tasks; do
  ./occ app:enable $i
done

# 办公应用 - 功能重复
for i in onlyoffice richdocuments; do
  ./occ app:enable $i
done

# 管理应用
for i in occweb; do
  ./occ app:enable $i
done

# 工具
for i in files_rightclick checksum; do
  ./occ app:enable $i
done

ldap

  • ldap:set-config <configID> <configKey> <configValue>
bash
./occ ldap:set-config s01 ldapUserDisplayName2 displayName

Notes

Docker All in One

Note

  • 是通过将 docker 映射到容器内,启动 composer 完成
  • 可以参考逻辑
  • Nextcloud + Office + Backend + Backup + Imaginary + ClamAV + Full text search
bash
docker run \
  --sig-proxy=false \
  --name nextcloud-aio-mastercontainer \
  --restart always \
  --publish 80:80 \
  --publish 8080:8080 \
  --publish 8443:8443 \
  --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
  --volume /var/run/docker.sock:/var/run/docker.sock:ro \
  nextcloud/all-in-one:latest

关联信息

反向链接、本文链接的其他页面和外部资料。

反向链接

  • Service Awesome
    笔记 · Nextcloud

    backstage/backstage · platform for building developer portals · 开发者门户网站 · 管理服务、基础设施、文档 · 追踪组织生态系统中所有软件的所有权和元数据 · amplication/amplication

  • Storage Awesome
    笔记 · nextcloud

    考虑因素 · 怎么用 · 确定使用方 · 用户 - 例如: S3 · 操作系统 - 例如: GFS, DRBD, NFS · SaaS 服务 - 有 软件定义存储 的能力 - 租户、隔离、BYOD · 选择网络接口协议 · 块 vs 文件 vs 对象

参考资料

GitHub4 条
其他外链5 条
最近更新commit e6a0237编辑