[GH-ISSUE #10] Issue while using peerflix-server with forever in an init.d script #222

Closed
opened 2026-03-15 02:32:10 +03:00 by kerem · 3 comments
Owner

Originally created by @zobrak on GitHub (Oct 28, 2014).
Original GitHub issue: https://github.com/asapach/peerflix-server/issues/10

Hi !
I was trying to launch peerflix server as a daemon with forever and I got always the same error while launching from an init.d script :

path.js:360
throw new TypeError('Arguments to path.join must be strings');
^
TypeError: Arguments to path.join must be strings
at path.js:360:15
at Array.filter (native)
at Object.exports.join (path.js:358:36)
at Object. (/usr/lib/node_modules/peerflix-server/server/store.js:11:21)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
error: Forever detected script exited with code: 8
error: Script restart attempt #4

To resolv this issue I did edit the store.js file and did this :

  • homePath = '/root',
  • homePath = process.env[(process.platform === 'win32') ? 'USERPROFILE' : 'HOME'],

Now it works.

Originally created by @zobrak on GitHub (Oct 28, 2014). Original GitHub issue: https://github.com/asapach/peerflix-server/issues/10 Hi ! I was trying to launch peerflix server as a daemon with forever and I got always the same error while launching from an init.d script : path.js:360 throw new TypeError('Arguments to path.join must be strings'); ^ TypeError: Arguments to path.join must be strings at path.js:360:15 at Array.filter (native) at Object.exports.join (path.js:358:36) at Object.<anonymous> (/usr/lib/node_modules/peerflix-server/server/store.js:11:21) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) error: Forever detected script exited with code: 8 error: Script restart attempt #4 To resolv this issue I did edit the store.js file and did this : + homePath = '/root', - homePath = process.env[(process.platform === 'win32') ? 'USERPROFILE' : 'HOME'], Now it works.
kerem 2026-03-15 02:32:10 +03:00
Author
Owner

@asapach commented on GitHub (Oct 28, 2014):

The problem seems to be that the HOME environment variable is not set for the user you are running the script under. Can you try setting it explicitly?

<!-- gh-comment-id:60728566 --> @asapach commented on GitHub (Oct 28, 2014): The problem seems to be that the `HOME` environment variable is not set for the user you are running the script under. Can you try setting it explicitly?
Author
Owner

@zobrak commented on GitHub (Oct 28, 2014):

In fact the HOME is set :
printenv | grep HOME

HOME=/root

<!-- gh-comment-id:60729344 --> @zobrak commented on GitHub (Oct 28, 2014): In fact the HOME is set : <code>printenv | grep HOME</code> <code>HOME=/root</code>
Author
Owner

@asapach commented on GitHub (Nov 2, 2014):

I'm using upstart on Ubuntu 14.04. Here's my config:
/etc/init/peerflix.conf

description "Peerflix daemon"
start on startup
stop on shutdown
expect fork
setuid peerflix-user
env HOME="/home/peerflix-user"

exec forever start -a -l peerflix.log /usr/local/bin/peerflix-server

pre-stop exec forever stop /usr/local/bin/peerflix-server

The init script runs under peerflix-user user and sets up $HOME variable.

<!-- gh-comment-id:61409423 --> @asapach commented on GitHub (Nov 2, 2014): I'm using upstart on Ubuntu 14.04. Here's my config: `/etc/init/peerflix.conf` ``` description "Peerflix daemon" start on startup stop on shutdown expect fork setuid peerflix-user env HOME="/home/peerflix-user" exec forever start -a -l peerflix.log /usr/local/bin/peerflix-server pre-stop exec forever stop /usr/local/bin/peerflix-server ``` The init script runs under `peerflix-user` user and sets up `$HOME` variable.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/peerflix-server#222
No description provided.