{"id":15136230,"url":"https://github.com/iamjavadali/nextcloudpi","last_synced_at":"2025-06-21T20:04:39.682Z","repository":{"id":229692425,"uuid":"777395490","full_name":"iamjavadali/nextcloudpi","owner":"iamjavadali","description":"Full Nextcloud Docker Container for Raspberry Pi 4 \u0026 5 with Collabora Online server (Nextcloud Office) behind Nginx Reverse Proxy Manager + GoAccess Charts. Supported with Redis Cache + Cron Jobs.","archived":false,"fork":false,"pushed_at":"2024-03-25T20:49:07.000Z","size":17,"stargazers_count":14,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-06T16:39:49.664Z","etag":null,"topics":["docker","docker-compose","docker-container","docker-image","dockerfile","nextcloud","nextcloud-app","nextcloud-docker","nextcloud-installation","nextcloud-office","nginx","nginx-configuration","nginx-docker","nginx-proxy","nginx-reverse-proxy","raspberry-pi","raspberry-pi-4","raspberry-pi-5"],"latest_commit_sha":null,"homepage":"","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/iamjavadali.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":"2024-03-25T19:16:38.000Z","updated_at":"2025-03-18T18:23:08.000Z","dependencies_parsed_at":"2024-03-25T20:32:55.318Z","dependency_job_id":"0cebb925-da65-4f9c-9b13-8af750dac856","html_url":"https://github.com/iamjavadali/nextcloudpi","commit_stats":null,"previous_names":["iamjavadali/nextcloudpi"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/iamjavadali/nextcloudpi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamjavadali%2Fnextcloudpi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamjavadali%2Fnextcloudpi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamjavadali%2Fnextcloudpi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamjavadali%2Fnextcloudpi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iamjavadali","download_url":"https://codeload.github.com/iamjavadali/nextcloudpi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamjavadali%2Fnextcloudpi/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261186755,"owners_count":23121940,"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","docker-compose","docker-container","docker-image","dockerfile","nextcloud","nextcloud-app","nextcloud-docker","nextcloud-installation","nextcloud-office","nginx","nginx-configuration","nginx-docker","nginx-proxy","nginx-reverse-proxy","raspberry-pi","raspberry-pi-4","raspberry-pi-5"],"created_at":"2024-09-26T06:04:37.840Z","updated_at":"2025-06-21T20:04:34.670Z","avatar_url":"https://github.com/iamjavadali.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NextcloudPi\nFull Nextcloud Docker Container for Raspberry Pi 4 \u0026amp; 5 with Collabora Online server (Nextcloud Office) behind Nginx Reverse Proxy Manager + GoAccess Charts. Supported with Redis Cache + Cron Jobs.\n\n# NextcloudPi Image Support + \nNextcloud image errors fixed and addon supported\n- ***All Errors fixed***\n- Redis Cache Server\n- Nextcloud Cron Job Fix - via supervisord\n- Php values editable in nextcloud.ini file\n- Nginx Reverse Proxy Manager Support\n- Video Thumbnail Support\n- Maintenance window start support - will run jobs between 01:00am UTC and 05:00 am UTC:\n- Next Cloud Office Ready - Collabora Office Server - Install separately\n- opcache.memory_consumption=128 increase to opcache.memory_consumption=256\n- smb client\n\n\n# INSTRUCTIONS MUST BE FOLLOWED IN THIS ORDER\n1. GIT CLONE\n2. DOCKER COMPOSE BUILD\n3. DOCKER COMPOSE UP\n4. NGINX REVERSE PROXY MANAGER SETUP FOR NEXTCLOUD\n5. INITIAL NEXTCLOUD USER SETUP VIA WEB BROWSER\n6. NEXTCLOUD DOCKER VOLUME CONFIG.PHP UPDATE\n7. RESTART NEXTCLOUD CONTAINER FOR CHANGES TO TAKE EFFECT.\n\n\n# 1. GIT CLONE - In Host Machine\n\n```\ngit clone https://github.com/iamjavadali/nextcloudpi.git\ncd nextcloudpi/nextcloud\n```\n\n# Install NextcloudPi Container\n\n- 4 containers\n\t1. nextcloud\n\t2. nextcloud_db\n\t3. nextcloud_cron\n\t4. nextcloud_redis\n\nEdit the following files if you would like to make changes to php settings and database details\n\n- nexcloudpi/nextcloud/nextcloud/Dockerfile\n- nextcloudpi/nextcloud/mysql/Dockerfile\n\n# 2-3. DOCKER COMPOSE BUILD + DOCKER COMPOSE UP\n\nBuild \u0026 run the nextcloudpi container\n```\nsudo docker compose build\nsudo docker compose up -d\n```\n\n# 4. NGINX REVERSE PROXY MANAGER w/ GoAccess Charts Install + SETUP\n\n- 3 containers\n\t1. nginxproxymanagerpi\n\t2. nginxproxymanagerpidb\n\t3. nginxproxymanagerpistats\n\nEnter docker-compose directory\n\n```cd nextcloudpi/nginx-proxy-manager```\n\nBuild Dockerfile\n\n```sudo docker compose build```\n\nBuild + Run docker compose\n\n```sudo docker compose up -d```\n\nPort Info:\n\n\tnginx admin port: 81\n\tgoaccess stats port: 7880\n\tmariadb port: 3306\n\nAfter the Nginx Proxy Manager is running for the first time, the following will happen:\n\n\tGPG keys will be generated and saved in the data folder\n\tThe database will initialize with table structures\n\tA default admin user will be created\n\nThis process can take a couple of minutes depending on your machine.\n\nDefault Administrator User\n\n\tEmail:    admin@example.com\n\tPassword: changeme\n\nImmediately after logging in with this default user you will be asked to modify your details and change your password.\n\nNginx official documentation setup\n\n\thttps://nginxproxymanager.com/setup/#using-mysql-mariadb-database\n\n\n# NextcloudPi Nginx Proxy Settings\n\n***In Nginx reverse Proxy manager, add your nextcloudpi proxy***\n```\nscheme = http\nip = ip of host\nport = port number of nextcloud docker container\nwebsocket support = on\nblock common exports = on\nssl = on\nforce ssl = on\nHTTP/s support = on\nHSTS enabled = on\nHSTS subdomains = on\n```\n***You can use the Free LetsEncrypt SSL or upload your own to add a secure connection***\n\nAdd this to your Nginx reverse proxy settings in ***advanced - custom Nginx configuration.***\n\nThis below fixes one of the error you receive in the \"Overview\" tab in your \"Administration settings\" for .well-known/carddav and .well-known/caldav\n```\nlocation /.well-known/carddav {\n    return 301 $scheme://$host/remote.php/dav;\n}\n\nlocation /.well-known/caldav {\n    return 301 $scheme://$host/remote.php/dav;\n}\n```\n\n# Go to your nextcloud IP or domain you setup and start the initial setup.\n```\n- enter username\n- create password\n```\n\n- Go to \"Personal Settings\" in your nextcloud panel and add your email address to your profile\n- Now go to \"Administration settings\" in your nextcloud panel and navigate to \"Basic settings\" \n- For background jobs: change from \"AJAX\" to \"Cron (Recommended)\"\n- For \"Email server\" add your email server settings of the email account which will use to send out nextcloud-related emails from and then test the connection by pressing the button \"Send email\" to Test and verify email settings\n- Now go to the \"Overview\" tab in your \"Administration settings\"\n- Look at the addtional error codes and warnings and follow the instructions below to fix them.\n\n\n***The commands below must be run in the docker host machine where the nextcloud container is installed or by accessing the config.php file from inside your nextcloud container.***\n\nBecome the root user on your ***host*** machine\n```\nsudo -i\n```\nNavigate to the docker nextcloud volume into the config directory\n```\ncd /var/lib/docker/volumes/nextcloudpi_nextcloud/_data/config\n```\nuse a text editor to edit the config.php file\n```\nnano config.php\n```\n\n***Add the following code at the bottom of the file before the closing statement );***\n\nThis code fixes the phone code error; make sure to ***change*** to your region code\n```\n  'default_phone_region' =\u003e 'US',\n```\nThis code fixes the insecure url error\n```\n  'overwriteprotocol' =\u003e 'https',\n```\nThis code adds maintenance window time and fixes error\n```\n  'maintenance_window_start' =\u003e 1,\n```\n \nThis whole array will allow your nextcloud to generate preview thumbnails of videos and other formats\n```\n  'enable_previews' =\u003e true,    \n  'enabledPreviewProviders' =\u003e \n  array (\n    0 =\u003e 'OC\\\\Preview\\\\Movie',\n    1 =\u003e 'OC\\\\Preview\\\\PNG',\n    2 =\u003e 'OC\\\\Preview\\\\JPEG',\n    3 =\u003e 'OC\\\\Preview\\\\GIF',\n    4 =\u003e 'OC\\\\Preview\\\\BMP',\n    5 =\u003e 'OC\\\\Preview\\\\XBitmap',\n    6 =\u003e 'OC\\\\Preview\\\\MP3',\n    7 =\u003e 'OC\\\\Preview\\\\MP4',\n    8 =\u003e 'OC\\\\Preview\\\\TXT',\n    9 =\u003e 'OC\\\\Preview\\\\MarkDown',\n    10 =\u003e 'OC\\\\Preview\\\\PDF',\n  ),\n```\n\n\n# Colabora Online (Nextcloud Office) Server Installation\n\n- 1 containers\n\t1. collabora\n\n```\ncd nextcloudpi/collabora\n```\nEdit the collabora-code.sh file\n```\nnano collabora-code.sh\n```\nEdit the following variables\n\nSet this to the IP+Port pointing to the collabora/code server\n```\ndomain=###.###.###.###:PORT\t\n``` \nSet this to the domain pointed to your collabora/code server\n```\nserver_name=your-domain.com\t\n``` \nChange this username for the admin panel\n```\nuser=admin\n```\nChange this password for the admin panel\n```\npass=password\n``` \nChange this for your local time zone\t\n```\ntz=America/New_York\t\n```\nSave and make the bash script file is executable\n```\nchmod +x collabora-code.sh\n```\nRun the script\n```\n./collabora-code.sh\n```\n\n***In Nginx reverse Proxy manager, add your Colabora Online proxy***\n```\nscheme = https\nip = ip of host\nport = port number of collabora docker container\nwebsocket support = on\nblock common exports = off\nssl = on\nforce ssl = on\nHTTP/s support = on\nHSTS enabled = on\nHSTS subdomains = on\n```\n\n# In your nextcloud installation head over to administration settings -\u003e Office\n\n- Select \"Use your own server\"\n- Enter URL (and Port) of collabora Online-server: example: use either domain or server_name values - https://office.solrstation.com or https://192.168.1.101:9980\n- Allow list for WOPI requests: enter the following - 172.70.0.0/16, 162.158.0.0/16\n\t- You can find the IP range of your WOPI host by entering 0.0.0.0/16 in your WOPI allow list and then opening up a document in nextcloud to get the WOPI denied error. Upon receiving this error, you can look at the logs in your administration settings for warnings on WOPI requests denied.\n\t- Example: WOPI request denied from 172.70.111.138 as it does not match the configured ranges: 0.0.0.0\n\t- Take the denied from IP and turn it into a range by keeping the first two values. example: 172.70\n\t- Then enter .0.0/16 to the end of it. example: 172.70.0.0/16\n\t- Try opening a document again, and you will get another WOPI denied error, this time showing you another IP range.\n\t- Example: WOPI request denied from 162.158.154.60 as it does not match the configured ranges: 172.70.0.0/16\n\t- Add this IP as you did before to your WOPI allow list by keeping the first 2 parts of the IP and turning the remaining into a range: example: 162.158.0.0/16\n\t- Combine both IP ranges together and add them into your WOPI allow list\n\t- example: 172.70.0.0/16, 162.158.0.0/16\n\t- Open a document again in nextcloud. Now you should not have any WOPI errors, and the document should open without any further errors.\n\n\n***YOU SHOULD NOW HAVE A FULLY FUNTIONAL NEXTCLOUD RUNNING ON YOUR RASPBERRY PI 4 OR 5 WITH NO ERRORS AND DOCUMENT EDITING SUPPORT BEHIND A REVERSE PROXY AND FULLY SECURED.***\n\n# If you do not wish to build the image, you can add Dockerfile variables into the docker-compose file for Nextcloudpi \u0026 Nginx Reverse Proxy Pi and just run docker compose up -d\n\n***If you found this how-to helpful, please share with others and provide me with any feedback with any issues.***\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamjavadali%2Fnextcloudpi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiamjavadali%2Fnextcloudpi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamjavadali%2Fnextcloudpi/lists"}