]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - shared/server-commands/server/server.ts
Translated using Weblate (Persian)
[github/Chocobozzz/PeerTube.git] / shared / server-commands / server / server.ts
index f2ca51431c6618e6e12b813d10c8a283b180c259..66b7ff09d2702733423583fcdcbdca6cbf716612 100644 (file)
@@ -8,9 +8,9 @@ import { CLICommand } from '../cli'
 import { CustomPagesCommand } from '../custom-pages'
 import { FeedCommand } from '../feeds'
 import { LogsCommand } from '../logs'
-import { SQLCommand } from '../miscs'
 import { AbusesCommand } from '../moderation'
 import { OverviewsCommand } from '../overviews'
+import { RunnerJobsCommand, RunnerRegistrationTokensCommand, RunnersCommand } from '../runners'
 import { SearchCommand } from '../search'
 import { SocketIOCommand } from '../socket'
 import {
@@ -18,6 +18,7 @@ import {
   BlocklistCommand,
   LoginCommand,
   NotificationsCommand,
+  RegistrationsCommand,
   SubscriptionsCommand,
   TwoFactorCommand,
   UsersCommand
@@ -135,7 +136,6 @@ export class PeerTubeServer {
   streamingPlaylists?: StreamingPlaylistsCommand
   channels?: ChannelsCommand
   comments?: CommentsCommand
-  sql?: SQLCommand
   notifications?: NotificationsCommand
   servers?: ServersCommand
   login?: LoginCommand
@@ -147,6 +147,11 @@ export class PeerTubeServer {
   views?: ViewsCommand
   twoFactor?: TwoFactorCommand
   videoToken?: VideoTokenCommand
+  registrations?: RegistrationsCommand
+
+  runners?: RunnersCommand
+  runnerRegistrationTokens?: RunnerRegistrationTokensCommand
+  runnerJobs?: RunnerJobsCommand
 
   constructor (options: { serverNumber: number } | { url: string }) {
     if ((options as any).url) {
@@ -179,9 +184,9 @@ export class PeerTubeServer {
     this.rtmpsPort = this.parallel ? this.randomRTMP() : 1937
     this.port = 9000 + this.internalServerNumber
 
-    this.url = `http://localhost:${this.port}`
-    this.host = `localhost:${this.port}`
-    this.hostname = 'localhost'
+    this.url = `http://127.0.0.1:${this.port}`
+    this.host = `127.0.0.1:${this.port}`
+    this.hostname = '127.0.0.1'
   }
 
   setUrl (url: string) {
@@ -199,7 +204,7 @@ export class PeerTubeServer {
     return join(root(), testDirectory, directoryName)
   }
 
-  async flushAndRun (configOverride?: Object, options: RunServerOptions = {}) {
+  async flushAndRun (configOverride?: object, options: RunServerOptions = {}) {
     await ServersCommand.flushTests(this.internalServerNumber)
 
     return this.run(configOverride, options)
@@ -245,7 +250,7 @@ export class PeerTubeServer {
     const forkOptions = {
       silent: true,
       env,
-      detached: true,
+      detached: false,
       execArgv
     }
 
@@ -309,18 +314,18 @@ export class PeerTubeServer {
     })
   }
 
-  async kill () {
-    if (!this.app) return
-
-    await this.sql.cleanup()
+  kill () {
+    if (!this.app) return Promise.resolve()
 
-    process.kill(-this.app.pid)
+    process.kill(this.app.pid)
 
     this.app = null
+
+    return Promise.resolve()
   }
 
   private randomServer () {
-    const low = 10
+    const low = 2500
     const high = 10000
 
     return randomInt(low, high)
@@ -359,6 +364,7 @@ export class PeerTubeServer {
       },
       storage: {
         tmp: this.getDirectoryPath('tmp') + '/',
+        tmp_persistent: this.getDirectoryPath('tmp-persistent') + '/',
         bin: this.getDirectoryPath('bin') + '/',
         avatars: this.getDirectoryPath('avatars') + '/',
         videos: this.getDirectoryPath('videos') + '/',
@@ -418,7 +424,6 @@ export class PeerTubeServer {
     this.streamingPlaylists = new StreamingPlaylistsCommand(this)
     this.channels = new ChannelsCommand(this)
     this.comments = new CommentsCommand(this)
-    this.sql = new SQLCommand(this)
     this.notifications = new NotificationsCommand(this)
     this.servers = new ServersCommand(this)
     this.login = new LoginCommand(this)
@@ -430,5 +435,10 @@ export class PeerTubeServer {
     this.views = new ViewsCommand(this)
     this.twoFactor = new TwoFactorCommand(this)
     this.videoToken = new VideoTokenCommand(this)
+    this.registrations = new RegistrationsCommand(this)
+
+    this.runners = new RunnersCommand(this)
+    this.runnerRegistrationTokens = new RunnerRegistrationTokensCommand(this)
+    this.runnerJobs = new RunnerJobsCommand(this)
   }
 }