{"id":15051397,"url":"https://github.com/nextcloud/integration_whiteboard","last_synced_at":"2025-10-19T23:31:54.380Z","repository":{"id":41870687,"uuid":"325019462","full_name":"nextcloud/integration_whiteboard","owner":"nextcloud","description":"✏ A whiteboard for Nextcloud, using Spacedeck","archived":false,"fork":false,"pushed_at":"2025-06-18T21:04:02.000Z","size":1192,"stargazers_count":55,"open_issues_count":35,"forks_count":6,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-06-18T22:19:28.452Z","etag":null,"topics":["nextcloud","whiteboard"],"latest_commit_sha":null,"homepage":"https://apps.nextcloud.com/apps/integration_whiteboard","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nextcloud.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null}},"created_at":"2020-12-28T13:25:11.000Z","updated_at":"2024-10-28T18:33:35.000Z","dependencies_parsed_at":"2024-01-16T13:39:51.274Z","dependency_job_id":"9429a893-a888-41f1-8f44-f048b34164e0","html_url":"https://github.com/nextcloud/integration_whiteboard","commit_stats":null,"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"purl":"pkg:github/nextcloud/integration_whiteboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Fintegration_whiteboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Fintegration_whiteboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Fintegration_whiteboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Fintegration_whiteboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nextcloud","download_url":"https://codeload.github.com/nextcloud/integration_whiteboard/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Fintegration_whiteboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279941862,"owners_count":26248369,"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","status":"online","status_checked_at":"2025-10-19T02:00:07.647Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["nextcloud","whiteboard"],"created_at":"2024-09-24T21:34:25.096Z","updated_at":"2025-10-19T23:31:54.040Z","avatar_url":"https://github.com/nextcloud.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Whiteboard integration in Nextcloud\n\n🖵 Nextcloud Whiteboard, powered by [Spacedeck](https://github.com/spacedeck/spacedeck-open).\n\nThis app integrates Spacedeck whiteboard server. It lets Nextcloud users create `.whiteboard` files\nwhich can then be opened in the Files app and in Talk. Those files can be shared to other users\nor via public links. Everyone having access with write permissions to such a file can edit it collaboratively.\n\n⚠ This app is still experimental and can fail in some custom Nextcloud setups.\n\n# 🛠 Install\n\nThere are 2 ways to setup this app:\n* Use the bundled Spacedeck server (only works on 64 bits GNU/Linux servers)\n* [Deploy a standalone Spacedeck server](#deploy-spacedeck) (\u003e= v0.1.0 which is not released yet)\n\nThis is recommended to deploy and use a standalone Spacedeck server for:\n* Better performances\n* Real time collaboration (Websocket communication)\n* The ability to run the Spacedeck server on another system than Nextcloud\n* Being able to run Spacedeck on non-x64 architecture (like arm64 with a RaspberryPi)\n\nSpacedeck has a few **optional** requirements to be able to convert media files:\n* `graphicsmagick` to convert images\n* `ffmpeg` to convert audio and video files\n* `ghostscript` for pdf import\n\nTo use the bundled Spacedeck server, just install the app and you're good to go.\n\nFollow [these instructions](#deploy-spacedeck) to deploy a standalone Spacedeck server.\n\n# 𝄘 Features\n\n* Draw\n    * Draw lines and shapes\n    * Write text\n    * Add images, audio files, videos files and PDFs\n* Collaborate\n    * Create zones\n    * Presenter mode (others follow your movements)\n    * Show participants mouse cursors\n* Share\n    * Share to a Talk room\n    * Share to users\n    * Share via public links\n\n# ⚠ Limitations\n\n* Spacedeck provides a Pdf export feature. It does not work with the bundle Spacedeck server. Use a standalone server if you want this feature.\n* Video media actions are not transmitted in presenter mode. This is a limitation of Spacedeck.\n* Files version restoration does not work for the moment.\n* Overwritting a whiteboard file will not update the board (space) content.\n* Medias are not saved in `.whiteboard` files. They are lost when copying a whiteboard file on another Nextcloud instance.\n\n# 👀 Screenshots\n\n![screenshot](https://github.com/eneiluj/integration_whiteboard/raw/master/img/screenshot1.jpg)\n\n# Deploy Spacedeck\n\nSpacedeck can be deployed on the same system hosting your Nextcloud instance or on a different system.\n\nIn order to deploy a standalone Spacedeck server, you will be guided into those steps:\n\n* Get Spacedeck sources\n* Configure Spacedeck\n* Launch Spacedeck server\n* Create a Spacedeck user for Nextcloud\n* Optionally make Spacedeck accessible via a reverse proxy in a virtual host\n* Configure the Nextcloud whiteboard integration app to use your standalone Spacedeck server\n* Check your setup\n\nRequirements on the system hosting Spacedeck:\n* Node \u003e= 10.0\n* Npm \u003e= 7.0.0\n\n## Get Spacedeck sources\n\n``` bash\ngit clone https://github.com/eneiluj/spacedeck-open -b ext-access-control\ncd spacedeck-open\nnpm install\n```\n\n## Configure Spacedeck\n\nGo to the \"Connected accounts\" section of your Nextcloud admin settings. Find the Spacedeck integration settings.\nUncheck \"Use integrated Spacedeck server\". Copy the \"ext_access_control\" suggested by the hints. This should look like:\n```\nhttps://YOUR.NEXTCLOUD.ORG/index.php/apps/integration_whiteboard/session/check\n```\n\nEdit the `spacedeck-open/config/default.json` file and set the \"ext_access_control\" value with the one you copied before.\nThis enables Nextcloud to manage permissions on the boards.\n\nYou can also adjust other config values to your convenience:\n* `port`: TCP port Spacedeck server will listen to\n* `invite_code`: Secret code used to create users in Spacedeck (Only one user will be created in our case)\n\nChange the other values only if you know what you are doing.\n\n## Launch Spacedeck\n\nThen start the Spacedeck server:\n``` bash\nnpm run start\n```\nand browse the Spacedeck web interface.\n\n## Create a Spacedeck user for Nextcloud\n\nA single Spacedeck user is required by Nextcloud to create and edit boards. We will create this user\nmanually and set an \"API token\" for Nextcloud.\n\n* Click the \"Signup\" button on the top right corner\n* Use the `invite_code` to create a Spacedeck user\n* Once you are logged in, click on the buddy icon on the top right corner and go to \"Edit account\"\n* In the profile tab, set your \"API token\". Make sure your API token is more than 10 characters long\n* Hit the \"Save\" button\n* Logout\n\n## Optionally make Spacedeck accessible via a reverse proxy in a virtual host\n\nYour Spacedeck server must be accessible by the browsers of your users **and** by your Nextcloud server so you might\nneed a reverse proxy to make it possible to reach it through your webserver.\n\n⚠ **Warning**: Spacedeck only works if it is reachable at the root path. Make sure you don't use a sub path in your\nvirtual host.\n\nHere is an example of Apache virtual host proxying to Spacedeck (with Websocket support).\nThis makes Spacedeck (which is listening to the 9666 port) accessible at https://spacedeck.myserver.org\n```apacheconf\n\u003cVirtualHost *:443\u003e\n        ServerName spacedeck.myserver.org\n        ProxyPreserveHost On\n        ProxyPass  / http://localhost:9666/\n        ProxyPassReverse / http://localhost:9666/\n        ProxyPreserveHost On\n\n        # only if you want to provide an HTTPS access to Spacedeck (highly recommended)\n        SSLProxyEngine On\n        SSLProxyVerify none\n        SSLProxyCheckPeerCN off\n        SSLProxyCheckPeerName off\n        SSLProxyCheckPeerExpire off\n        SSLCertificateFile /etc/letsencrypt/live/myserver.org/fullchain.pem\n        SSLCertificateKeyFile /etc/letsencrypt/live/myserver.org/privkey.pem\n\n        ProxyPassMatch \"/socket\" ws://localhost:9666/socket nocanon\n        ProxyPassMatch \"/socket/\" ws://localhost:9666/socket/\n\n        RewriteEngine On\n        RewriteCond %{HTTP:Upgrade} =websocket\n        RewriteRule /(.*)           ws://localhost:9666/socket [P,L]\n        RewriteCond %{HTTP:Upgrade} !=websocket\n        RewriteRule /(.*)           http://localhost:9666/$1 [P,L]\n\u003c/VirtualHost\u003e\n```\n\n## Configure the Nextcloud whiteboard integration app\n\nGet back to the \"Connected accounts\" section of your Nextcloud admin settings.\nEnter the Spacedeck server URL and the API token you have set for your Spacedeck user.\n\nReminder: Your Spacedeck server must be accessible by the browsers of your users **and** by your Nextcloud server.\n\n## Check your setup\n\nPress \"Check Spacedeck config\" to make sure you can reach Spacedeck with your browser and that your Nextcloud\nserver can access Spacedeck's API.\nIf the check is successful, you are ready to use the Spacedeck integration.\nGo to the Files app and create a new whiteboard file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextcloud%2Fintegration_whiteboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnextcloud%2Fintegration_whiteboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextcloud%2Fintegration_whiteboard/lists"}