mirror of
https://github.com/ciur/papermerge.git
synced 2026-04-25 12:05:58 +03:00
[GH-ISSUE #31] Synology package for papermerge #23
Labels
No labels
2.1
3.0
3.0.1
3.0.2
3.0.3
3.0.3
3.1
3.2
3.2
3.3
3.5
3.x
Fixed. Waiting for feedback.
Fixed. Waiting for feedback.
UX
Version 2.1 - alpha
XSS
announcement
beta
blocker
bug
cannot reproduce
confirmed
confirmed
critical
demo
dependencies
deployment
detchnical debt
discussion
docker
documentation
donations
duplicate
enhancement
feature request
frontend
fundraising
good first issue
good issue
help wanted
high
implemented
important
improvement
incomplete
invalid
investigation
kubernetes
low
low impact
medium
medium
medium impact
migration from 2.0
migration from 2.1
missing-language
missing-ocr-language
no-activity
note
ocr
outofscope
packaging
performance
popular request
pull-request
pypi
question
raspberry pi
roadmap
search
security
setup
status
task
technical debt
updates
user xp
version 1.4.0 - demo
will be implemented
will not be implemented
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/papermerge#23
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @mtonnie on GitHub (Jul 9, 2020).
Original GitHub issue: https://github.com/ciur/papermerge/issues/31
What about the idea to create a package for Synology NAS devices, maybe based and distributed on SynoCommunity spksrc?
We could create a simple installation wizard to make the configuration simple and comfortable.
Was well I would prefer to create a native package (not based on docker), because this can be used on smaller devices without docker as well.
I would really appreciate to use Synology single sign on, is there an authentication middleware available for Django?
@ciur commented on GitHub (Jul 9, 2020):
This is definitely a very good idea and something which I will do. I own a Synology NAS (ds216j) as well, so it would be easy for me to test the package.
However, I will postpone this task for September maybe even October (2020) as I want to deliver 1.4.0 release first. Beside this release, I want to deploy online (live) demo.
There are various authentication middleware possibilities. I am not sure what SSO synology uses. At this moment I cannot answer your question. I need to investigate more on this topic.
Thank you for suggestions and for opening the ticket!
@mtonnie commented on GitHub (Jul 9, 2020):
Do you have any preferences concerning the packages sdk, or are you fine with spksrc from SynoCommunity?
Do you agree to push the package sources to spksrc repository?
Maybe i'll try to start to package it, so it's good to know which Synology model you have.
And probably which other models the users own.
@ciur commented on GitHub (Jul 9, 2020):
To be honest, I never heard of neither of SynoCommunity nor spksrc up until today.
Can you please me more specific? what do you mean with that ?
What are the options ? Again, as I mentioned above - never heard of - until today.
If you mean Papermerge sources - yes, why not ?
My Synology model is DS2016j.
@mtonnie commented on GitHub (Jul 9, 2020):
Ok, if you like to make a custom package for Synology you are propably starting reading the Synology's developers guide.
The examples from Sylology will use some scripts for packaging (pkgscripts-ng), this is the toolkit which Synology provides to create 3rd party packages.
As an alternative to the toolkit from Synology you can use the one from SynoCommunity (spksrc). There are already some neccesray dependencies available e.g. python, tessteract, ... you can reuse.
In case of using spksrc's repository, I guess it makes sense to push the things which are related to packaging to the repository of spksrc. So things maybe reuse from someone else for other packages, this might affect dependencies which are neccesary for papermerge.
The whole sourcecode for papermerge will still be manged can still be managed here ord in the papermerge organization (haven't understood why it's seperated at the moment).
In the end you need a repository, where you will provide the packages for Synology diskstation to dowbnload from. I would also recommend to participate from the existing repositiory from SynoCommunity.
Hopefully that helps.
@ciur commented on GitHub (Jul 9, 2020):
Thank you for well organized info/guidance. As I mentioned in first comment, I will postpone this ticket until September/October 2020.
@mtonnie commented on GitHub (Jul 16, 2020):
Ok, in other words. I'm planning to contribute to this project, I like to focus on packaging this application for Synology NAS.
But I don't like to decide everything by myself without an discussion, that's why I made this issue.
I would propose to start with an simple package
It's possible to improve this later ...
To start the packaging process it would be really good to have separated requirements for development and run.
I guess it should be easy for you to share which dependencies are not needed for production, e.g. sphinx.
These packages are not needed for the Synology package, this will reduce the effort for packaging especially if the affected package has binary dependencies or needs to be cross compiled.
@mtonnie commented on GitHub (Jul 21, 2020):
Is it really necessary to use Python version 3.8, or can we use 3.7 as well?
Why I'm asking, currently only version 3.7 is wip from SynoCommunity.
If version 3.8 is required we have to update python too, this will increase the effort a lot.
@ciur commented on GitHub (Jul 25, 2020):
@mtonnie, I am really sorry for late answer, I cannot figure out how to receive email notifications for specific project only... so I am manually looking each ticket - which makes it easy to miss.
I will highly appreciate your help and i would gladly collaborate on packaging Papermerge for Synology NAS.
To avoid any confusing or late answers in future, send me an email. You will find my email at the very bottom of README page, on github.
Answers to your questions will follow in next comment.
@ciur commented on GitHub (Jul 25, 2020):
This is simple one. I will split requirements file in several files. It is a good practice anyway.
Tricky question. I need some time to provide an accurate answer.
I remember I had a valid reason to move from 3.7 to 3.8. The problem is that:
In any case I know for sure there were issues with subprocess module which had its arguments changed in 3.6 and then 3.7. For example in 3.7:Added the text parameter, as a more understandable alias of universal_newlines. Added the capture_output parameter. Subprocess is used a lot in Papermerge (starting all sort of utils like pdfinfo, convert, tesseract).
Give me some time to tackle this issue and I will come back with an accurate answer.
@ciur commented on GitHub (Jul 26, 2020):
I had a deeper look into the issue. Papermerge runs as expected with python 3.7. All UT pass. None of the features is affected by lowering requirements from 3.8 to 3.7.
Thus, I lowered requirements to python 3.7.
Also, I removed all unused dependencies. The minimal python dependencies (requirements) modules are in now requirements/base.txt.
I am speaking in context of master branch, which reflects the latest changes.
@mtonnie commented on GitHub (Aug 14, 2020):
I have opened this issues more than a month ago, but this doesn't mean I haven't made some progress.
Now it's time to share it!
I have finished the basic packaging of Papermerge, there are still a lot of topics to be taken into account.
But it's soon time to share the beta packages with everyone who is interested an get some feedback!
I'll try to finish the installation wizard and process until end of next week.
With this step I'll share the packages and provide a tutorial how to build the necessary packages for other Synology model (architectures) by yourself.
Screenshots installation wizard:








I'm glad to here what you are thinking about it, feel free to provide some feedback.
Or share your ideas concerning Synology packaging for Papermerge.
@mtonnie commented on GitHub (Aug 14, 2020):
@ciur
Please let me know which informations you like to see for the highlighted fields.
@ciur commented on GitHub (Aug 15, 2020):
Hi @mtonnie
Brilliant work!
Thank you so much for your contribution!
Regarding your question:
For Entwickler- https://papermerge.com
For Beschreibung - Open Source Document Management System for Electronic Archives
To be honest, I am Selbstandig - I don't have my own company yet (I mean, gmbh)- to be mentioned as Entwickler. Also I would prefer to mention website instead of my Vorname + Nachname.
In case Entwickler field does not allow URL - just put there Papermerge DMS.
Danke noch mal!
@mtonnie commented on GitHub (Aug 18, 2020):
Guess it's time to deliver ...
I like to share the current state of Synology package with everyone who is interested!
Please keep in mind, it's a very early version of the package which isn't fully functional an a few features are still missing.
That means, use it on your own risk, currently it's not recommended to use it in production environment.
This doesn't mean it won't work, but in some cases you would have to know deeper knowledge about Synology OS (Linux), Python and Papermerge to get issues solved.
And please keep in mind, the package update process hasn't been implemented jet.
You have to uninstall and install again or hope that updates will work.
But anyway you are very welcome to give it a try and come back with your questions, issues and ideas.
You will find the current sources at my GitHub repository.
Three packages (Python 3.7.7, Tesseract OCR 4.01 and Papermerge) are needed, if you can't compile them yourself - let me know it I'll help you.
Give it a try it's quite simple just use Gitpod to get a fully configured build / development environment.
Just go to the desired package e.g. papermerge
cd spk/papermergeBuild the arch you need e.g. generic x64
env ARCH=x64 TCVERSION=6.1 makeDownload the packages from ../../packages
Have fun - you are ready to install the packages
@ciur commented on GitHub (Aug 19, 2020):
looks awesome! Give me couple of days to play with this, and I will come back with feedback.
@rb-26 commented on GitHub (Sep 3, 2020):
Installed all packages as mentioned above and I get "Not found" when I browse to port 8000 on the NAS IP.
Am I missing something?
@mtonnie commented on GitHub (Sep 3, 2020):
Maybe, the port ist 8880 instead of 8000.
The reason ist, port 8000 is already use by Icecast
But thank's for the reminder, papermerge doesn't provide a link yet. I'll fix this in one of the next updates.
@rb-26 commented on GitHub (Sep 3, 2020):
That worked. Thanks for the help. I will let you know if I have any issues with it.