Deprecate Node 8

The support ends on December 2019: https://github.com/nodejs/Release#release-schedule
pull/2012/head
Chocobozzz 2019-08-07 12:04:06 +02:00
parent 0763044f7d
commit 51c3544718
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
8 changed files with 28 additions and 12 deletions

View File

@ -147,7 +147,7 @@ Feel free to reach out if you have any questions or ideas! :speech_balloon:
* nginx
* **PostgreSQL >= 9.6**
* **Redis >= 2.8.18**
* **NodeJS >= 8.x**
* **NodeJS >= 10.x**
* **yarn >= 1.x**
* **FFmpeg >= 3.x**

View File

@ -26,7 +26,7 @@ process.title = 'peertube'
const app = express()
// ----------- Core checker -----------
import { checkMissedConfig, checkFFmpeg } from './server/initializers/checker-before-init'
import { checkMissedConfig, checkFFmpeg, checkNodeVersion } from './server/initializers/checker-before-init'
// Do not use barrels because we don't want to load all modules here (we need to initialize database first)
import { CONFIG } from './server/initializers/config'
@ -45,6 +45,8 @@ checkFFmpeg(CONFIG)
process.exit(-1)
})
checkNodeVersion()
import { checkConfig, checkActivityPubUrls } from './server/initializers/checker-after-init'
const errorMessage = checkConfig()

View File

@ -1,5 +1,6 @@
import * as config from 'config'
import { promisify0 } from '../helpers/core-utils'
import { logger } from '../helpers/logger'
// ONLY USE CORE MODULES IN THIS FILE!
@ -109,10 +110,23 @@ async function checkFFmpegEncoders (): Promise<Map<string, boolean>> {
return supportedOptionalEncoders
}
function checkNodeVersion () {
const v = process.version
const majorString = v.split('.')[0].replace('v', '')
const major = parseInt(majorString, 10)
logger.debug('Checking NodeJS version %s.', v)
if (major < 10) {
logger.warn('Your NodeJS version %s is deprecated. Please use Node 10.', v)
}
}
// ---------------------------------------------------------------------------
export {
checkFFmpeg,
checkFFmpegEncoders,
checkMissedConfig
checkMissedConfig,
checkNodeVersion
}

View File

@ -4,5 +4,5 @@ set -eu
videosFiles=$(find server/tests/api/videos -type f | grep -v index.ts | xargs echo)
MOCHA_PARALLEL=true npm run mocha -- --timeout 30000 --exit --require ts-node/register --bail \
npm run mocha -- --timeout 30000 --exit --require ts-node/register --bail \
$videosFiles

View File

@ -26,7 +26,7 @@
3. Install certbot (choose instructions for nginx and your distribution) :
[https://certbot.eff.org/all-instructions](https://certbot.eff.org/all-instructions)
4. Install NodeJS 8.x:
4. Install NodeJS 10.x:
[https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions](https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions)
5. Install yarn, and be sure to have [a recent version](https://github.com/yarnpkg/yarn/releases/latest):
[https://yarnpkg.com/en/docs/install#linux-tab](https://yarnpkg.com/en/docs/install#linux-tab)
@ -66,7 +66,7 @@ $ sudo systemctl start redis postgresql
## CentOS 7
1. Install NodeJS 8.x:
1. Install NodeJS 10.x:
[https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora](https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora)
2. Install yarn:
[https://yarnpkg.com/en/docs/install](https://yarnpkg.com/en/docs/install)
@ -121,7 +121,7 @@ su my-peertube-user
```
2. (Optional) Install certbot (choose instructions for nginx and your distribution) :
[https://certbot.eff.org/all-instructions](https://certbot.eff.org/all-instructions)
3. Install NodeJS 8.x:
3. Install NodeJS 10.x:
[https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora](https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora)
4. Install yarn:
[https://yarnpkg.com/en/docs/install](https://yarnpkg.com/en/docs/install)
@ -155,7 +155,7 @@ sudo systemctl start redis.service
```
8. Firewall
By default, you cannot acces your server via public IP. To do so, you must configure firewall:
By default, you cannot access your server via public IP. To do so, you must configure firewall:
```
# Ports used by peertube dev setup
sudo firewall-cmd --permanent --zone=public --add-port=3000/tcp

View File

@ -36,7 +36,7 @@ You need to follow all the following steps even if you are on a PeerTube server
### Dependencies
Install the [PeerTube dependencies](dependencies.md) except PostgreSQL and Redis.
PeerTube only supports NodeJS 8.x or 10.x.
PeerTube only supports NodeJS 10.x.
### Installation
@ -280,7 +280,7 @@ To uninstall a plugin or a theme:
$ sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run npm run plugin:uninstall -- --npm-name peertube-plugin-myplugin
```
### REPL ([Read Eval Print Loop](https://nodejs.org/docs/latest-v8.x/api/repl.html))
### REPL ([Read Eval Print Loop](https://nodejs.org/docs/latest-v10.x/api/repl.html))
If you want to interact with the application libraries and objects even when PeerTube is not running, there is a REPL for that.

View File

@ -17,7 +17,7 @@ RUN apt-get update -q && apt-get install -qy \
postgresql \
postgresql-contrib \
redis-server \
&& curl -sL https://deb.nodesource.com/setup_8.x | bash - \
&& curl -sL https://deb.nodesource.com/setup_10.x | bash - \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
&& echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
&& apt-get update \

View File

@ -1,4 +1,4 @@
FROM node:8-stretch
FROM node:10-stretch
# Allow to pass extra options to the npm run build
# eg: --light --light-fr to not build all client languages