なんかSupervisorでdenoコマンド実行するとrootユーザ以外のときにnpmのキャッシュの権限で怒られる
2 min read
こんにちは、無能です。
Superviosrでroot以外の権限で立ち上げるとき、user=
で指定できるんですがなんか怒られた。
というのも、どうやらキャッシュ周りが悪さしてるみたいでSupervisorで立ち上げるとき環境変数はrootユーザのままなので環境変数を渡してあげる必要があるのだが実行コマンドはdeno
なのでどこのキャッシュ使ってるんだ?と思ったらこれで確認できた。./node_modules
だけじゃないから割とdenoコマンド使っているとdenoでnpm資産を使っている意識があまり飛んでいた。
$ npm config get cache
/home/haturatu/.npm
で、この環境変数はこれで一緒に渡せる
environment=DENO_INSTALL="/home/haturatu/.deno",PATH="/home/haturatu/.deno/bin:/home/haturatu/.cargo/bin:/home/haturatu/.npm-global/bin:$PATH",HOME="/home/haturatu"
denoのCMS用だから。cargoの情報は渡す必要は無いが他にもこの環境変数指定は使いたいから残しておく。それでこんな感じになる
[program:adminblog]
command=deno task lume cms --location=http://localhost:3001
user=haturatu
directory=/var/www/html/soulmining
autostart=true ; サーバー起動時に自動的にプロセスを開始
autorestart=true ; プロセスが終了した場合に自動的に再起動
stderr_logfile=/var/log/adminblog.err.log ; 標準エラーログファイルの場所
stderr_logfile_maxbytes=1MB ; ログファイルの最大ファイルサイズ
stdout_logfile=/var/log/adminblog.out.log ; 標準出力ログファイルの場所
stdout_logfile_maxbytes=1MB ; ログファイルの最大ファイルサイズ
stdout_logfile_backups=0 ;過去のログファイルの保管をしない
stderr_logfile_backups=0 ;過去のエラー出力ログファイルの保管をしない
environment=DENO_INSTALL="/home/haturatu/.deno",PATH="/home/haturatu/.deno/bin:/home/haturatu/.cargo/bin:/home/haturatu/.npm-global/bin:$PATH",HOME="/home/haturatu"
ちなみにdirectory
に違和感感じてるけどこれはこの鯖作ったときからの名残なのでしょうがない。
正しくやるなら/var/www/soulmining
ですかね。
それでは。
またよろしくおねがいします。