{"id":19664800,"url":"https://github.com/nguyenantoine/nextcloud","last_synced_at":"2026-05-10T07:41:53.882Z","repository":{"id":113139822,"uuid":"161951779","full_name":"NguyenAntoine/nextcloud","owner":"NguyenAntoine","description":"Docker-compose for nextcloud","archived":false,"fork":false,"pushed_at":"2022-10-22T22:29:39.000Z","size":5,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-10T02:23:39.856Z","etag":null,"topics":["docker-compose","nextcloud"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NguyenAntoine.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-15T23:24:52.000Z","updated_at":"2022-10-22T21:55:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"13b0bd3f-4181-4884-bb14-6e555f5cf1a3","html_url":"https://github.com/NguyenAntoine/nextcloud","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NguyenAntoine%2Fnextcloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NguyenAntoine%2Fnextcloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NguyenAntoine%2Fnextcloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NguyenAntoine%2Fnextcloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NguyenAntoine","download_url":"https://codeload.github.com/NguyenAntoine/nextcloud/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240974442,"owners_count":19887302,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-compose","nextcloud"],"created_at":"2024-11-11T16:19:05.708Z","updated_at":"2026-05-10T07:41:53.877Z","avatar_url":"https://github.com/NguyenAntoine.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nextcloud Docker Compose Setup\n\nSelf-hosted file storage and collaboration platform using Docker Compose.\n\n**Documentation:** [Nextcloud Docker Image](https://github.com/nextcloud/docker)\n\n---\n\n## Quick Start\n\n### 1. Create Environment File\n\nCopy the example configuration:\n\n```bash\ncp .env.dist .env\n```\n\nEdit `.env` with your settings:\n\n```bash\nVIRTUAL_HOST=your-domain.com\nLETSENCRYPT_HOST=your-domain.com\nLETSENCRYPT_EMAIL=your-email@example.com\nMYSQL_ROOT_PASSWORD=\u003cstrong-password\u003e\nMYSQL_PASSWORD=\u003cstrong-password\u003e\n```\n\n**Generate strong passwords:**\n```bash\nopenssl rand -base64 32\n```\n\n### 2. Start Services\n\n```bash\n# Using modern Docker Compose (v2+)\ndocker compose up -d\n\n# Wait for services to start\nsleep 30\n\n# Check status\ndocker compose ps\n\n# View logs\ndocker compose logs -f app\n```\n\n### 3. Verify Installation\n\n- Open `https://your-domain.com`\n- Create admin account on first access\n- Verify files are present\n\n---\n\n## Updating Docker Images\n\nTo update Nextcloud and database images to latest patch versions:\n\n```bash\n./updateDockerImages.sh\n```\n\n**Note:** This keeps the major versions specified in `docker-compose.yml`. For major version upgrades, edit the image versions first.\n\n---\n\n## Configuration\n\n### File Upload Limits\n\nIncrease maximum upload file size to 2GB:\n\n```yaml\n# docker-compose.yml (already configured)\nenvironment:\n  - PHP_UPLOAD_LIMIT=2048M\n```\n\nUpdate nginx proxy configuration:\n\n```bash\n# In nginx-proxy/nginx.conf\nhttp {\n    ...\n    client_max_body_size 2000M;\n}\n```\n\n### Database Performance (Optional)\n\nUncomment in `docker-compose.yml` for better performance:\n\n```bash\ncommand: --transaction-isolation=READ-COMMITTED --binlog-format=ROW\n```\n\n### Database Administration\n\n**Option 1: SSH Tunnel (Recommended)**\n\n```bash\nssh -L 8888:localhost:3306 user@your-server\n# Connect to: localhost:8888 with your MySQL client\n```\n\n**Option 2: PhpMyAdmin (Uncomment in docker-compose.yml)**\n\n```bash\n# Uncomment the phpmyadmin service\ndocker compose up -d\n# Access at http://localhost:8988\n```\n\n---\n\n## Backup \u0026 Restore\n\n### Backup Nextcloud Data\n\n```bash\n# Backup files\ntar -czf nextcloud_backup.tar.gz ./data/nextcloud/\n\n# Backup database\ndocker exec nextcloud_db mysql -u nextcloud -p nextcloud \u003e nextcloud.sql\n```\n\n### Restore from Backup\n\n```bash\n# Stop services\ndocker compose down\n\n# Restore files\ntar -xzf nextcloud_backup.tar.gz\n\n# Start and restore database\ndocker compose up -d\ndocker exec nextcloud_db mysql -u nextcloud -p nextcloud \u003c nextcloud.sql\ndocker exec nextcloud_app chown -R www-data:www-data /var/www/html/data\n\n# Restart\ndocker compose restart\n```\n\n---\n\n## Troubleshooting\n\n### Container Logs\n\n```bash\n# View Nextcloud app logs\ndocker compose logs -f app\n\n# View database logs\ndocker compose logs -f db\n\n# View all logs\ndocker compose logs -f\n```\n\n### Container Health\n\n```bash\n# Check container status\ndocker compose ps\n\n# Run health check\ndocker compose ps --status\n```\n\n### Reset Services\n\n```bash\n# Stop all containers\ndocker compose down\n\n# Remove data (WARNING: Destructive!)\nrm -rf ./data/\n\n# Restart\ndocker compose up -d\n```\n\n---\n\n## Networking\n\nServices are connected to:\n- **default:** Internal network for container-to-container communication\n- **reverse-proxy:** External network for nginx reverse proxy (must exist)\n\nCreate reverse-proxy network if it doesn't exist:\n\n```bash\ndocker network create reverse-proxy\n```\n\n---\n\n## Security Notes\n\n- ✅ Use strong passwords (32+ characters)\n- ✅ Keep backups in secure location\n- ✅ Regular database backups recommended\n- ✅ Use HTTPS (configured via Let's Encrypt)\n- ✅ Don't expose PhpMyAdmin in production (use SSH tunnel instead)\n- ✅ Keep Docker images updated: `docker compose pull \u0026\u0026 docker compose up -d`\n\n---\n\n## Docker Compose Version\n\nRequires Docker Compose v2+ (use `docker compose` instead of `docker-compose`)\n\n```bash\n# Check version\ndocker compose version\n```\n\n---\n\n**Last Updated:** 2026-02-02\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnguyenantoine%2Fnextcloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnguyenantoine%2Fnextcloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnguyenantoine%2Fnextcloud/lists"}