SynoCommunity / spksrc

Cross compilation framework to create native packages for the Synology's NAS
https://synocommunity.com
Other
3.03k stars 1.23k forks source link

[Package Request] Kiwix-serve #4079

Closed chjohn22 closed 2 years ago

chjohn22 commented 4 years ago

Name: Kiwix-serve Description: Kiwix-serve is a ZIM compatible Web server. With its help you can deliver ZIM file content over your network. Based on the well known HTTP protocol, kiwix-serve allows you to share the ZIM files available on your computer easily with others connected to your network. You simply need to start kiwix-serve and your content will be available for anybody through their own Web browser. Kiwix-serve is a good solution if you have a LAN network and don't want to install Kiwix on all computers. It's a good alternative if you don't have a shared network disk from which everybody can start Kiwix.

Website: https://www.kiwix.org/en/downloads/kiwix-serve/ Software documentation: https://wiki.kiwix.org/wiki/Kiwix-serve#Use_it Build/Installation documentation: https://github.com/kiwix/kiwix-tools Source code: https://github.com/kiwix/kiwix-tools License: GPLv3 https://github.com/kiwix/kiwix-tools/blob/master/COPYING

hgy59 commented 4 years ago

Kiwix-server requires meson build system that is not available yet (see #3820).

mitya12342 commented 4 years ago

I have tried to compile it using entware packages on my ds220j, it was sufficient to run kiwix-build (ninja and meson python packages) and build big part of components, but i ran into compilation issue on xapian which i dont have enough knowledge to resolve myself. Unfortunately, kiwix got official support for armhf raspberrypi only. Here is my issue #https://github.com/kiwix/kiwix-build/issues/459 Are there anything I can do about it? What is the right way to compile such things for RTD1296 synologies?

chjohn22 commented 4 years ago

@mitya12342 If you can run Docker on your Syno (I do not know if the j-series does support it), just install the kiwix-serve docker https://hub.docker.com/r/kiwix/kiwix-serve. If you want to serve multiple ZIM-Files, run Docker with the argument .zim like: `docker run -v /path/to/zim:/data -p 8080:80 kiwix/kiwix-serve .zim`

mitya12342 commented 4 years ago

If you can run Docker on your Syno

@chjohn22, unfortunately there are no native docker support as j series are arm based and docker images are for amd64

hgy59 commented 3 years ago

@mitya12342 are you still looking for a kiwix package?

I have just created the PR #4627 with my work so far. The last piece that was missing was fixed with #4615. The package needs some investigations by users knowing how to deploy kiwix. I am looking for support/hints to the following questions

chjohn22 commented 3 years ago

@hgy59 I do run kiwix-serve as a docker container. A dedicated port is a nice feature. You can even mount subfolders with docker, I do not know how it is with a syno package. I will link the top three kiwix maintainers in this post, maybe they can help you with the details. 😃 @kelson42 @mgautierfr @rgaudin

kelson42 commented 3 years ago

@chjohn22 Why using the statically compiled binaries we release does not seem to be an option?

rgaudin commented 3 years ago

FYI our docker images are also published for arm.

mitya12342 commented 3 years ago

@hgy59 Yes, I am still looking for it. Thank you so much for your work.

* does it make sense to integrate the kiwix package as a service? (i.e. start kiwix-serve on a dedicated port or url).

* do we need to define a shared folder at installation time used for the content (zim files)?

I think, it would be easier for people with less technical knowledge to run it with such synology integrations, so it makes sense. But I prefer CLI package myself.

* I have included the provided tools (beside kiwix-serve those are kiwix-manage kiwix-read kiwix-search). Does it make sense to have the tools on the diskstation or is kiwix-serve enough?

Tools are also useful for people familiar with CLI, who are downloading zim files using synology itself. If it possible to have them, it makes sense.