diff --git a/Dockerfile b/Dockerfile index 8859b20b..4e91a2e5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,6 +6,7 @@ ENV CRON_SCHEDULE="0 0 * * *" ENV GZIP=false ENV MAX_CONNECTIONS=1 ENV DAYS= +ENV RUN_AT_STARTUP=true RUN apk update \ && apk upgrade --available \ && apk add curl git tzdata bash \ diff --git a/README.md b/README.md index ec67ae0c..b82a71bc 100644 --- a/README.md +++ b/README.md @@ -201,6 +201,7 @@ iptv-org/epg | DAYS | Number of days for which the guide will be loaded (defaults to the value from the site config) | | TIMEOUT | Timeout for each request in milliseconds (default: 0) | | DELAY | Delay between request in milliseconds (default: 0) | +| RUN_AT_STARTUP | Run grab on container startup (default: true) | ## Database diff --git a/pm2.config.js b/pm2.config.js index 8fc9bc3c..f1f90116 100644 --- a/pm2.config.js +++ b/pm2.config.js @@ -1,24 +1,35 @@ const grab = process.env.SITE - ? `npm run grab -- --site=${process.env.SITE} ${ - process.env.CLANG ? `--lang=${process.env.CLANG}` : '' - } --output=public/guide.xml` + ? `npm run grab -- --site=${process.env.SITE} ${process.env.CLANG ? `--lang=${process.env.CLANG}` : '' + } --output=public/guide.xml` : 'npm run grab -- --channels=channels.xml --output=public/guide.xml' -module.exports = { - apps: [ - { - name: 'serve', - script: 'npx serve -- public', - instances: 1, - watch: false, - autorestart: true - }, - { - name: 'grab', - script: `npx chronos -e "${grab}" -p "${process.env.CRON_SCHEDULE}" -l`, - instances: 1, - watch: false, - autorestart: true - } - ] + +const apps = [ + { + name: 'serve', + script: 'npx serve -- public', + instances: 1, + watch: false, + autorestart: true + }, + { + name: 'grab', + script: `npx chronos -e "${grab}" -p "${process.env.CRON_SCHEDULE}" -l`, + instances: 1, + watch: false, + autorestart: true + } +]; + +if (process.env.RUN_AT_STARTUP === 'true') { + apps.push({ + name: 'grab-at-startup', + script: grab, + instances: 1, + autorestart: false, + watch: false, + max_restarts: 1 + }); } + +module.exports = { apps }; \ No newline at end of file