mirror of
https://github.com/ciur/papermerge.git
synced 2026-04-25 12:05:58 +03:00
[GH-ISSUE #258] Packaging App for Cloudron #210
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#210
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 @doodlemania2 on GitHub (Dec 17, 2020).
Original GitHub issue: https://github.com/ciur/papermerge/issues/258
Originally assigned to: @ciur on GitHub.
Howdy :) In my fun spare time after the kiddos go to bed, I help package amazing OSS apps for Cloudron (cloudron.io) as a hobby. There was a request to package Papermerge and since I already use your amazingness at home, thought I'd have a go at it. Cloudron has a great packaging system (docs.cloudron.io) and I've packaged a few other apps. I'm struggling with Papermerge just a tad and was wondering if you could guide me in the right direction?
In my packaging, one of the steps is to create a Dockerfile based on cloudron's base. It's currently Bionic, so not too far off. I created my Dockerfile (here). It's based tightly on your 1.4 Dockerfile. Next, I wire up a custom startup.sh which I've also got in the above repo, along with supporting config files, etc.
One of the great things about Cloudron is that it makes managing the app a snap. It does this by providing common backup/restore/upgrade functionality, as well as database and security management, cert rotation and proxying, etc. In order to do that, the app's code gets to run on a readonly filesystem. The app goes in /app/code and the data which is read/write goes in /app/data. With Papermerge using Apache + mod_wsgi, I've been trying to tear bits out of the /app/code area and put it in the read-write place (/app/data) as well as moving some other bits to /run (logs, sockets, and the like).
Here's where the wheels are coming off: The express server (which would normally run in /opt I think on your original stack?) doesn't like read only filesystem and I'm having a heck of a time getting custom configs to write various things to /app/data or /run (like the socket file).
Cloudron supports Apache and Nginx and I thought about going down the Nginix / Gunicorn route, but the rest of your docs don't say much about how best to approach that other than it should work and a few nuggets on config.
My initial stab at packaging (see repo) is by no means good - I've only spent a few hours peeling a few things apart to get it to build and launch(ish). But would love to see if you could assist in helping here. There are hundreds of customers and dozens of great apps on cloudron. With a little help, I think I can get you going there! Feel free to ping me if you like and we can connect via chat or something. Otherwise, will keep trying!
@ciur commented on GitHub (Dec 17, 2020):
Hi @doodlemania2,
cloudron looks really great ! I really like the idea of Papermerge running on that platform! But I am confused about what exactly help you need ? can you please be more specific about kind of assistance you need ?
@doodlemania2 commented on GitHub (Dec 17, 2020):
Thanks so much! The biggest hurdle at the moment is getting mod_wsgi (which I have running from /app/code which is Read Only) to work nicely by storing it's generated files (and it's socket file) elsewhere. When I perform
it tries to create tons of files in /app/code. If I could get some guidance on how I might get those bits elsewhere, that'd be great. For reference, typically persistent data would go to /app/data along with configuration files (cause they can be edited) and socketfiles would go to /run or /tmp.
From there, I may come back with more questions around using NGinx/GUnicorn instead if it would be easier, but would need guidance on how best to do that.
@doodlemania2 commented on GitHub (Dec 21, 2020):
Any thoughts @ciur?