Skip to content

feat(storage): Nextcloud FPM + MinIO + FileBrowser + Syncthing#317

Open
Problemsolver0070 wants to merge 1 commit intoillbnm:masterfrom
Problemsolver0070:feat/storage-stack
Open

feat(storage): Nextcloud FPM + MinIO + FileBrowser + Syncthing#317
Problemsolver0070 wants to merge 1 commit intoillbnm:masterfrom
Problemsolver0070:feat/storage-stack

Conversation

@Problemsolver0070
Copy link

Summary

Closes #3[BOUNTY $150] Storage Stack — 存储服务

All 5 required services:

  • Nextcloud (29.0.7-fpm-alpine) — FPM mode with Nginx frontend, shared PostgreSQL + Redis, trusted_proxies, overwriteprotocol=https, default_phone_region=CN, Authentik OIDC ready
  • Nextcloud Nginx (nginx:1.27-alpine) — Optimized FPM frontend: client_max_body_size 10G, CalDAV/CardDAV redirects, security headers, proper fastcgi config
  • MinIO (RELEASE.2024-09-22T00-33-43Z) — Console at minio.${DOMAIN}, API at s3.${DOMAIN}, separate Traefik routers
  • FileBrowser (v2.31.1) — Lightweight file manager browsing ${STORAGE_ROOT}
  • Syncthing (1.27.11) — P2P sync with discovery ports (22000/tcp+udp, 21027/udp)

Acceptance Criteria

  • Nextcloud auto-completes installation on first access
  • Nextcloud FPM + Nginx architecture (not Apache)
  • MinIO Console accessible, API connectable via mc client
  • FileBrowser browses ${STORAGE_ROOT} directory
  • Syncthing can sync with external devices
  • All services via Traefik HTTPS
  • Healthchecks on all containers
  • No hardcoded passwords

Test Plan

  • docker compose config validates
  • curl https://cloud.DOMAIN/status.php{"installed":true}
  • curl https://minio.DOMAIN/ → MinIO Console
  • curl https://s3.DOMAIN/minio/health/live → 200
  • curl https://files.DOMAIN/ → FileBrowser UI
  • curl https://sync.DOMAIN/rest/noauth/health → 200

Generated/reviewed with: claude-opus-4-6
Reviewed/verified with: GPT-5.3 Codex

🤖 Generated with Claude Code

…rowser + Syncthing (illbnm#3)

- Nextcloud (29.0.7-fpm-alpine): FPM mode with Nginx frontend,
  shared PostgreSQL + Redis, trusted_proxies, overwriteprotocol,
  default_phone_region, CalDAV/CardDAV redirects
- Nextcloud Nginx (1.27-alpine): optimized config for FPM with
  proper fastcgi params, client_max_body_size 10G, security headers
- MinIO (RELEASE.2024-09-22): S3-compatible object storage with
  separate Console (minio.DOMAIN) and API (s3.DOMAIN) endpoints
- FileBrowser (v2.31.1): lightweight file manager for STORAGE_ROOT
- Syncthing (1.27.11): P2P file sync with device discovery ports
- All services: healthchecks, Traefik labels, proper networking
- Nginx config for Nextcloud FPM at config/nextcloud/nginx.conf
- Updated .env.example

Generated/reviewed with: claude-opus-4-6
Reviewed/verified with: GPT-5.3 Codex

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@zhuzhushiwojia
Copy link

🦞 CLAIMING BOUNTY #317 - Storage Stack $150 USDT

Hi @illbnm!

Claiming this bounty immediately!

Developer: 大眼 (bigeye)
Wallet (USDT TRC20): TMLkvEDrjvHEUbWYU1jfqyUKmbLNZkx6T1

Ready to start work! 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BOUNTY $150] Storage Stack — Nextcloud + MinIO + FileBrowser

2 participants