nextcloud / nextcloud/notify_push

Make UNIX socket the default

Open
#74 4 comments 11 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
344
Forks
64
Avg merge
2d 10h
Merged PRs (30d)
5

Description

I think using a unix socket should be the default for notify_push, as it is both more efficient (which is what notify_push is about) and more secure (as access can be limited to the local www-data user).
To do so I would suggest a couple of issues to be considered:

  • what is the default location and mask for the socket? I would suggest a location in a subdir of the notify_push folder, and a mask of 660 (instead of 666); as a result it will be read/writeable to www-data only on default installations of nextcloud
  • the notify_push.service difnition will have to be updated to set a socket rather than a port
  • the nginx location definition should use proxy_pass http://unix:/path_to/notify_push.sock:/; (anyone a suggestion for the corresponding Apache config?)

I think this is a fairly minor update which will make notify_push better.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the notify_push.service definition and the existing nginx location configuration mentioned in the issue. Resolve the default Unix socket location and mask, then determine the corresponding Apache configuration. The work is done when notify_push defaults to a Unix socket and the service and reverse-proxy configurations consistently use it.

Written by the indexing model from the issue text.

Assessment

Tech stack
apache, nginx, rust
Domain
backend, devops, networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.