diff --git a/client/strings/fr.json b/client/strings/fr.json index a0f29fbc..f7ddd6ea 100644 --- a/client/strings/fr.json +++ b/client/strings/fr.json @@ -532,15 +532,15 @@ "MessageXLibraryIsEmpty": "La Bibliothèque {0} est vide!", "MessageYourAudiobookDurationIsLonger": "La durée de votre Livre Audio est plus longue que la durée trouvée", "MessageYourAudiobookDurationIsShorter": "La durée de votre Livre Audio est plus courte que la durée trouvée", - "MonthApr": "Apr", - "MonthAug": "Aug", - "MonthDec": "Dec", - "MonthFeb": "Feb", + "MonthApr": "Avr", + "MonthAug": "Aoû", + "MonthDec": "Déc", + "MonthFeb": "Fév", "MonthJan": "Jan", "MonthJul": "Jul", - "MonthJun": "Jun", + "MonthJun": "Jui", "MonthMar": "Mar", - "MonthMay": "May", + "MonthMay": "Mai", "MonthNov": "Nov", "MonthOct": "Oct", "MonthSep": "Sep", @@ -626,14 +626,14 @@ "ToastSocketFailedToConnect": "Échec de la connexion WebSocket", "ToastUserDeleteFailed": "Échec de la suppression de l'utilisateur", "ToastUserDeleteSuccess": "Utilisateur supprimé", - "WeekdayFri": "Fri", + "WeekdayFri": "Ven", "WeekdayFriday": "Vendredi", - "WeekdayMon": "Mon", + "WeekdayMon": "Lun", "WeekdayMonday": "Lundi", "WeekdaySaturday": "Samedi", "WeekdaySunday": "Dimanche", "WeekdayThursday": "Jeudi", "WeekdayTuesday": "Mardi", - "WeekdayWed": "Wed", + "WeekdayWed": "Mer", "WeekdayWednesday": "Mercredi" -} \ No newline at end of file +} diff --git a/index.js b/index.js index 6105029b..585af22e 100644 --- a/index.js +++ b/index.js @@ -18,8 +18,8 @@ const PORT = process.env.PORT || 80 const HOST = process.env.HOST const CONFIG_PATH = process.env.CONFIG_PATH || '/config' const METADATA_PATH = process.env.METADATA_PATH || '/metadata' -const UID = process.env.AUDIOBOOKSHELF_UID || 99 -const GID = process.env.AUDIOBOOKSHELF_GID || 100 +const UID = process.env.AUDIOBOOKSHELF_UID +const GID = process.env.AUDIOBOOKSHELF_GID const SOURCE = process.env.SOURCE || 'docker' const ROUTER_BASE_PATH = process.env.ROUTER_BASE_PATH || '' diff --git a/prod.js b/prod.js index fa254d4f..ca54bfab 100644 --- a/prod.js +++ b/prod.js @@ -23,9 +23,10 @@ const PORT = options.port || process.env.PORT || 3333 const HOST = options.host || process.env.HOST const CONFIG_PATH = inputConfig || process.env.CONFIG_PATH || Path.resolve('config') const METADATA_PATH = inputMetadata || process.env.METADATA_PATH || Path.resolve('metadata') -const UID = 99 -const GID = 100 +const UID = process.env.AUDIOBOOKSHELF_UID +const GID = process.env.AUDIOBOOKSHELF_GID const SOURCE = options.source || process.env.SOURCE || 'debian' + const ROUTER_BASE_PATH = process.env.ROUTER_BASE_PATH || '' console.log(process.env.NODE_ENV, 'Config', CONFIG_PATH, METADATA_PATH) diff --git a/server/Server.js b/server/Server.js index 3b9223da..32ece3ac 100644 --- a/server/Server.js +++ b/server/Server.js @@ -43,8 +43,8 @@ class Server { this.Host = HOST global.Source = SOURCE global.isWin = process.platform === 'win32' - global.Uid = isNaN(UID) ? 0 : Number(UID) - global.Gid = isNaN(GID) ? 0 : Number(GID) + global.Uid = isNaN(UID) ? undefined : Number(UID) + global.Gid = isNaN(GID) ? undefined : Number(GID) global.ConfigPath = fileUtils.filePathToPOSIX(Path.normalize(CONFIG_PATH)) global.MetadataPath = fileUtils.filePathToPOSIX(Path.normalize(METADATA_PATH)) global.RouterBasePath = ROUTER_BASE_PATH @@ -142,6 +142,7 @@ class Server { const app = express() const router = express.Router() app.use(global.RouterBasePath, router) + app.disable('x-powered-by') this.server = http.createServer(app) diff --git a/server/utils/filePerms.js b/server/utils/filePerms.js index d875703e..c48b4261 100644 --- a/server/utils/filePerms.js +++ b/server/utils/filePerms.js @@ -91,7 +91,11 @@ module.exports.setDefault = (path, silent = false) => { const uid = global.Uid const gid = global.Gid return new Promise((resolve) => { - if (!silent) Logger.debug(`[FilePerms] Setting permission "${mode}" for uid ${uid} and gid ${gid} | "${path}"`) + if (isNaN(uid) || isNaN(gid)) { + if (!silent) Logger.debug('Not modifying permissions since no uid/gid is specified') + return resolve() + } + if (!silent) Logger.debug(`Setting permission "${mode}" for uid ${uid} and gid ${gid} | "${path}"`) chmodr(path, mode, uid, gid, resolve) }) } @@ -102,6 +106,10 @@ module.exports.setDefaultDirSync = (path, silent = false) => { const mode = 0o744 const uid = global.Uid const gid = global.Gid + if (isNaN(uid) || isNaN(gid)) { + if (!silent) Logger.debug('Not modifying permissions since no uid/gid is specified') + return true + } if (!silent) Logger.debug(`[FilePerms] Setting dir permission "${mode}" for uid ${uid} and gid ${gid} | "${path}"`) try { fs.chmodSync(path, mode)