Skip to content

Commit

Permalink
nextcloudPackages.whiteboard: init at 1.0.4; nextcloudPackages: update (
Browse files Browse the repository at this point in the history
  • Loading branch information
happysalada authored Oct 22, 2024
2 parents f323524 + 345a761 commit e7d7f71
Show file tree
Hide file tree
Showing 7 changed files with 189 additions and 50 deletions.
1 change: 1 addition & 0 deletions nixos/modules/module-list.nix
Original file line number Diff line number Diff line change
Expand Up @@ -1471,6 +1471,7 @@
./services/web-apps/netbox.nix
./services/web-apps/nextcloud.nix
./services/web-apps/nextcloud-notify_push.nix
./services/web-apps/nextcloud-whiteboard-server.nix
./services/web-apps/nextjs-ollama-llm-ui.nix
./services/web-apps/nexus.nix
./services/web-apps/nifi.nix
Expand Down
72 changes: 72 additions & 0 deletions nixos/modules/services/web-apps/nextcloud-whiteboard-server.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
{
config,
lib,
pkgs,
...
}:

let

inherit (lib)
mkIf
mkEnableOption
mkOption
types
literalExpression
;
cfg = config.services.nextcloud-whiteboard-server;

in
{
options.services.nextcloud-whiteboard-server = {

enable = mkEnableOption "Nextcloud backend server for the Whiteboard app";

settings = mkOption {
type = types.attrsOf types.str;
default = { };
description = ''
Settings to configure backend server. Especially the Nextcloud host
url has to be set. The required environment variable `JWT_SECRET_KEY`
should be set via the secrets option.
'';
example = literalExpression ''
{
NEXTCLOUD_URL = "https://nextcloud.example.org";
}
'';
};

secrets = lib.mkOption {
type = with types; listOf str;
description = ''
A list of files containing the various secrets. Should be in the
format expected by systemd's `EnvironmentFile` directory.
'';
default = [ ];
};

};

config = mkIf cfg.enable {

systemd.services.nextcloud-whiteboard-server = {
description = "Nextcloud backend server for the Whiteboard app";
wantedBy = [ "multi-user.target" ];
after = [ "network-online.target" ];
wants = [ "network-online.target" ];
environment = cfg.settings;
serviceConfig = {
ExecStart = "${lib.getExe pkgs.nextcloud-whiteboard-server}";
WorkingDirectory = "%S/whiteboard";
StateDirectory = "whiteboard";
EnvironmentFile = [ cfg.secrets ];
DynamicUser = true;
};
};

};

meta.maintainers = with lib.maintainers; [ onny ];

}
35 changes: 35 additions & 0 deletions pkgs/by-name/ne/nextcloud-whiteboard-server/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
stdenv,
makeWrapper,
nodejs,
}:
buildNpmPackage rec {
pname = "nextcloud-whiteboard-server";
version = "1.0.4";

src = fetchFromGitHub {
owner = "nextcloud";
repo = "whiteboard";
rev = "refs/tags/v${version}";
hash = "sha256-27w8FZz9PbVdYV7yR5iRXi5edw7U/3bLVYfdRa8yPzo=";
};

npmDepsHash = "sha256-SwFQRDRo7Q8+0zYWx5szahJzDSoxkkJDPQ3qEdNLVaE=";

nativeBuildInputs = [ makeWrapper ];

postInstall = ''
makeWrapper ${lib.getExe nodejs} "$out/bin/nextcloud-whiteboard-server" \
--add-flags "$out/lib/node_modules/whiteboard/websocket_server/main.js"
'';

meta = {
description = "Backend server for the Nextcloud Whiteboard app";
homepage = "https://apps.nextcloud.com/apps/whiteboard";
license = lib.licenses.agpl3Plus;
maintainers = [ lib.maintainers.onny ];
};
}
40 changes: 25 additions & 15 deletions pkgs/servers/nextcloud/packages/28.json
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,9 @@
]
},
"forms": {
"hash": "sha256-JhLaTXll2kh/TaWXR1DfUCHuxaJlUMU1oY9ry9yoTTg=",
"url": "https://github.com/nextcloud-releases/forms/releases/download/v4.3.1/forms-v4.3.1.tar.gz",
"version": "4.3.1",
"hash": "sha256-iU2bqojO+pvMvKDiw+ANMvsH71Ul+8yQ+uNvJfa1ngc=",
"url": "https://github.com/nextcloud-releases/forms/releases/download/v4.3.2/forms-v4.3.2.tar.gz",
"version": "4.3.2",
"description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🧑‍💻 Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
"homepage": "https://github.com/nextcloud/forms",
"licenses": [
Expand All @@ -90,9 +90,9 @@
]
},
"groupfolders": {
"hash": "sha256-PaDPYHUzkqY24Hzpi4e3DkvT32f+WYmx7WUNRevqIh8=",
"url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v16.0.10/groupfolders-v16.0.10.tar.gz",
"version": "16.0.10",
"hash": "sha256-Plgmnp3fIzvHVcy8+wEmjNHegHqBeUtcbsRA/PHEAlc=",
"url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v16.0.11/groupfolders-v16.0.11.tar.gz",
"version": "16.0.11",
"description": "Admin configured folders shared with everyone in a group.\n\nFolders can be configured from *Group folders* in the admin settings.\n\nAfter a folder is created, the admin can give access to the folder to one or more groups, control their write/sharing permissions and assign a quota for the folder.",
"homepage": "https://github.com/nextcloud/groupfolders",
"licenses": [
Expand Down Expand Up @@ -130,9 +130,9 @@
]
},
"mail": {
"hash": "sha256-8xQglDlOudopTsEqvnlsOTwOU6eAt6argVSXDxJdWUA=",
"url": "https://github.com/nextcloud-releases/mail/releases/download/v3.7.8/mail-v3.7.8.tar.gz",
"version": "3.7.8",
"hash": "sha256-Y591RR3m4k8G0+sNU+hRN013LikCFJ/41SbrILEfp8A=",
"url": "https://github.com/nextcloud-releases/mail/releases/download/v3.7.9/mail-v3.7.9.tar.gz",
"version": "3.7.9",
"description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟢/🟡/🟠/🔴\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
"homepage": "https://github.com/nextcloud/mail#readme",
"licenses": [
Expand Down Expand Up @@ -250,9 +250,9 @@
]
},
"richdocuments": {
"hash": "sha256-nk5l9naHHBmpZe0oNzRNuYchbOl2asPgoRaM1vQ3CLc=",
"url": "https://github.com/nextcloud-releases/richdocuments/releases/download/v8.3.11/richdocuments-v8.3.11.tar.gz",
"version": "8.3.11",
"hash": "sha256-MD6zuKfGdDeItmgO9NxJogUCgVS/8b5w/TZh9mPTQno=",
"url": "https://github.com/nextcloud-releases/richdocuments/releases/download/v8.3.12/richdocuments-v8.3.12.tar.gz",
"version": "8.3.12",
"description": "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store.",
"homepage": "https://collaboraoffice.com/",
"licenses": [
Expand Down Expand Up @@ -320,9 +320,9 @@
]
},
"user_oidc": {
"hash": "sha256-8e4xQjOWSVAps6dg4jvN3MGVSOhaOgjPHPpTOgXKFJY=",
"url": "https://github.com/nextcloud-releases/user_oidc/releases/download/v6.0.1/user_oidc-v6.0.1.tar.gz",
"version": "6.0.1",
"hash": "sha256-tF68YonuCQ90XuZvZnS7NmJApk3P2741XhFjnyb7TSQ=",
"url": "https://github.com/nextcloud-releases/user_oidc/releases/download/v6.1.0/user_oidc-v6.1.0.tar.gz",
"version": "6.1.0",
"description": "Allows flexible configuration of an OIDC server as Nextcloud login user backend.",
"homepage": "https://github.com/nextcloud/user_oidc",
"licenses": [
Expand All @@ -338,5 +338,15 @@
"licenses": [
"agpl"
]
},
"whiteboard": {
"hash": "sha256-3Q0B4nAVoerolDlBmjp0KwTWXLzETPrrZxnmfSDF5Gk=",
"url": "https://github.com/nextcloud-releases/whiteboard/releases/download/v1.0.4/whiteboard-v1.0.4.tar.gz",
"version": "1.0.4",
"description": "The official whiteboard app for Nextcloud. It allows users to create and share whiteboards with other users and collaborate in real-time.\n\n**Whiteboard requires a separate collaboration server to work.** Please see the [documentation](https://github.com/nextcloud/whiteboard?tab=readme-ov-file#backend) on how to install it.\n\n- 🎨 Drawing shapes, writing text, connecting elements\n- 📝 Real-time collaboration\n- 🖼️ Add images with drag and drop\n- 📊 Easily add mermaid diagrams\n- ✨ Use the Smart Picker to embed other elements from Nextcloud\n- 📦 Image export\n- 💪 Strong foundation: We use Excalidraw as our base library",
"homepage": "https://github.com/nextcloud/whiteboard",
"licenses": [
"agpl"
]
}
}
44 changes: 27 additions & 17 deletions pkgs/servers/nextcloud/packages/29.json
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,9 @@
]
},
"forms": {
"hash": "sha256-JhLaTXll2kh/TaWXR1DfUCHuxaJlUMU1oY9ry9yoTTg=",
"url": "https://github.com/nextcloud-releases/forms/releases/download/v4.3.1/forms-v4.3.1.tar.gz",
"version": "4.3.1",
"hash": "sha256-iU2bqojO+pvMvKDiw+ANMvsH71Ul+8yQ+uNvJfa1ngc=",
"url": "https://github.com/nextcloud-releases/forms/releases/download/v4.3.2/forms-v4.3.2.tar.gz",
"version": "4.3.2",
"description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🧑‍💻 Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
"homepage": "https://github.com/nextcloud/forms",
"licenses": [
Expand All @@ -90,9 +90,9 @@
]
},
"groupfolders": {
"hash": "sha256-3CG5lp1lcPzcvOjcQIFcP8OVZvWCq3iNf4OUCu3X7t8=",
"url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v17.0.4/groupfolders-v17.0.4.tar.gz",
"version": "17.0.4",
"hash": "sha256-/pREdGW7kM2imVx6Jk5iZ9odQpk/93AwkFECVPJhyuI=",
"url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v17.0.5/groupfolders-v17.0.5.tar.gz",
"version": "17.0.5",
"description": "Admin configured folders shared with everyone in a group.\n\nFolders can be configured from *Group folders* in the admin settings.\n\nAfter a folder is created, the admin can give access to the folder to one or more groups, control their write/sharing permissions and assign a quota for the folder.",
"homepage": "https://github.com/nextcloud/groupfolders",
"licenses": [
Expand Down Expand Up @@ -130,18 +130,18 @@
]
},
"mail": {
"hash": "sha256-8xQglDlOudopTsEqvnlsOTwOU6eAt6argVSXDxJdWUA=",
"url": "https://github.com/nextcloud-releases/mail/releases/download/v3.7.8/mail-v3.7.8.tar.gz",
"version": "3.7.8",
"hash": "sha256-Y591RR3m4k8G0+sNU+hRN013LikCFJ/41SbrILEfp8A=",
"url": "https://github.com/nextcloud-releases/mail/releases/download/v3.7.9/mail-v3.7.9.tar.gz",
"version": "3.7.9",
"description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟢/🟡/🟠/🔴\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
"homepage": "https://github.com/nextcloud/mail#readme",
"licenses": [
"agpl"
]
},
"maps": {
"hash": "sha256-BmXs6Oepwnm+Cviy4awm3S8P9AiJTt1BnAQNb4TxVYE=",
"url": "https://github.com/nextcloud/maps/releases/download/v1.4.0/maps-1.4.0.tar.gz",
"hash": "sha256-FmRhpPRpMnCHkJFaVvQuR6Y7Pd7vpP+tUVih919g/fQ=",
"url": "https://github.com/nextcloud/maps/releases/download/v1.4.0-1-nightly/maps-1.4.0-1-nightly.tar.gz",
"version": "1.4.0",
"description": "**The whole world fits inside your cloud!**\n\n- **🗺 Beautiful map:** Using [OpenStreetMap](https://www.openstreetmap.org) and [Leaflet](https://leafletjs.com), you can choose between standard map, satellite, topographical, dark mode or even watercolor! 🎨\n- **⭐ Favorites:** Save your favorite places, privately! Sync with [GNOME Maps](https://github.com/nextcloud/maps/issues/30) and mobile apps is planned.\n- **🧭 Routing:** Possible using either [OSRM](http://project-osrm.org), [GraphHopper](https://www.graphhopper.com) or [Mapbox](https://www.mapbox.com).\n- **🖼 Photos on the map:** No more boring slideshows, just show directly where you were!\n- **🙋 Contacts on the map:** See where your friends live and plan your next visit.\n- **📱 Devices:** Lost your phone? Check the map!\n- **〰 Tracks:** Load GPS tracks or past trips. Recording with [PhoneTrack](https://f-droid.org/en/packages/net.eneiluj.nextcloud.phonetrack/) or [OwnTracks](https://owntracks.org) is planned.",
"homepage": "https://github.com/nextcloud/maps",
Expand Down Expand Up @@ -250,9 +250,9 @@
]
},
"richdocuments": {
"hash": "sha256-fcKzfo8tyYiZTwqMnR6vP+dTwTYt1UfBZG8ortPDCNg=",
"url": "https://github.com/nextcloud-releases/richdocuments/releases/download/v8.4.7/richdocuments-v8.4.7.tar.gz",
"version": "8.4.7",
"hash": "sha256-oRk06JoOvHUD4D7htl/B+CyCz9ybSIAZCELxV3v4uCU=",
"url": "https://github.com/nextcloud-releases/richdocuments/releases/download/v8.4.8/richdocuments-v8.4.8.tar.gz",
"version": "8.4.8",
"description": "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store.",
"homepage": "https://collaboraoffice.com/",
"licenses": [
Expand Down Expand Up @@ -320,9 +320,9 @@
]
},
"user_oidc": {
"hash": "sha256-8e4xQjOWSVAps6dg4jvN3MGVSOhaOgjPHPpTOgXKFJY=",
"url": "https://github.com/nextcloud-releases/user_oidc/releases/download/v6.0.1/user_oidc-v6.0.1.tar.gz",
"version": "6.0.1",
"hash": "sha256-tF68YonuCQ90XuZvZnS7NmJApk3P2741XhFjnyb7TSQ=",
"url": "https://github.com/nextcloud-releases/user_oidc/releases/download/v6.1.0/user_oidc-v6.1.0.tar.gz",
"version": "6.1.0",
"description": "Allows flexible configuration of an OIDC server as Nextcloud login user backend.",
"homepage": "https://github.com/nextcloud/user_oidc",
"licenses": [
Expand All @@ -338,5 +338,15 @@
"licenses": [
"agpl"
]
},
"whiteboard": {
"hash": "sha256-3Q0B4nAVoerolDlBmjp0KwTWXLzETPrrZxnmfSDF5Gk=",
"url": "https://github.com/nextcloud-releases/whiteboard/releases/download/v1.0.4/whiteboard-v1.0.4.tar.gz",
"version": "1.0.4",
"description": "The official whiteboard app for Nextcloud. It allows users to create and share whiteboards with other users and collaborate in real-time.\n\n**Whiteboard requires a separate collaboration server to work.** Please see the [documentation](https://github.com/nextcloud/whiteboard?tab=readme-ov-file#backend) on how to install it.\n\n- 🎨 Drawing shapes, writing text, connecting elements\n- 📝 Real-time collaboration\n- 🖼️ Add images with drag and drop\n- 📊 Easily add mermaid diagrams\n- ✨ Use the Smart Picker to embed other elements from Nextcloud\n- 📦 Image export\n- 💪 Strong foundation: We use Excalidraw as our base library",
"homepage": "https://github.com/nextcloud/whiteboard",
"licenses": [
"agpl"
]
}
}
Loading

0 comments on commit e7d7f71

Please sign in to comment.