2016-09-13 18:20:44 +03:00
|
|
|
{
|
|
|
|
"url": "http://localhost:2368",
|
|
|
|
"server": {
|
|
|
|
"host": "127.0.0.1",
|
2020-08-10 13:42:31 +03:00
|
|
|
"port": 2368,
|
2020-08-10 15:00:02 +03:00
|
|
|
"shutdownTimeout": 60000
|
2016-09-13 18:20:44 +03:00
|
|
|
},
|
2019-09-12 14:40:12 +03:00
|
|
|
"admin": {
|
|
|
|
"redirects": true
|
|
|
|
},
|
Update Notification improvements (#9123)
closes #5071
- Remove hardcoded notification in admin controller
- NOTE: update check notifications are no longer blocking the admin rendering
- this is one of the most import changes
- we remove the hardcoded release message
- we also remove adding a notification manually in here, because this will work differently from now on
-> you receive a notification (release or custom) in the update check module and this module adds the notification as is to our database
- Change default core settings keys
- remove displayUpdateNotification
-> this was used to store the release version number send from the UCS
-> based on this value, Ghost creates a notification container with self defined values
-> not needed anymore
- rename seenNotifications to notifications
-> the new notifications key will hold both
1. the notification from the USC
2. the information about if a notification was seen or not
- this key hold only one release notification
- and n custom notifications
- Update Check Module: Request to the USC depends on the privacy configuration
- useUpdateCheck: true -> does a checkin in the USC (exposes data)
- useUpdateCheck: false -> does only a GET query to the USC (does not expose any data)
- make the request handling dynamic, so it depends on the flag
- add an extra logic to be able to define a custom USC endpoint (helpful for testing)
- add an extra logic to be able to force the request to the service (helpful for testing)
- Update check module: re-work condition when a check should happen
- only if the env is not correct
- remove deprecated config.updateCheck
- remove isPrivacyDisabled check (handled differently now, explained in last commit)
- Update check module: remove `showUpdateNotification` and readability
- showUpdateNotification was used in the admin controller to fetch the latest release version number from the db
- no need to check against semver in general, the USC takes care of that (no need to double check)
- improve readability of `nextUpdateCheck` condition
- Update check module: refactor `updateCheckResponse`
- remove db call to displayUpdateNotification, not used anymore
- support receiving multiple custom notifications
- support custom notification groups
- the default group is `all` - this will always be consumed
- groups can be extended via config e.g. `notificationGroups: ['migration']`
- Update check module: refactor createCustomNotification helper
- get rid of taking over notification duplication handling (this is not the task of the update check module)
- ensure we have good fallback values for non present attributes in a notification
- get rid of semver check (happens in the USC) - could be reconsidered later if LTS is gone
- Refactor notification API
- reason: get rid of in process notification store
-> this was an object hold in process
-> everything get's lost after restart
-> not helpful anymore, because imagine the following case
-> you get a notification
-> you store it in process
-> you mark this notification as seen
-> you restart Ghost, you will receive the same notification on the next check again
-> because we are no longer have a separate seen notifications object
- use database settings key `notification` instead
- refactor all api endpoints to support reading and storing into the `notifications` object
- most important: notification deletion happens via a `seen` property (the notification get's physically deleted 3 month automatically)
-> we have to remember a seen property, because otherwise you don't know which notification was already received/seen
- Add listener to remove seen notifications automatically after 3 month
- i just decided for 3 month (we can decrease?)
- at the end it doesn't really matter, as long as the windows is not tooooo short
- listen on updates for the notifications settings
- check if notification was seen and is older than 3 month
- ignore release notification
- Updated our privacy document
- Updated docs.ghost.org for privacy config behaviour
- contains a migration script to remove old settings keys
2018-01-09 17:20:00 +03:00
|
|
|
"updateCheck": {
|
|
|
|
"url": "https://updates.ghost.org",
|
|
|
|
"forceUpdate": false
|
|
|
|
},
|
2016-09-13 18:20:44 +03:00
|
|
|
"privacy": false,
|
2017-04-10 12:30:21 +03:00
|
|
|
"useMinFiles": true,
|
2016-09-13 18:20:44 +03:00
|
|
|
"paths": {
|
2021-11-16 16:03:20 +03:00
|
|
|
"contentPath": "content/",
|
2021-11-19 12:43:48 +03:00
|
|
|
"fixtures": "core/server/data/schema/fixtures/fixtures",
|
|
|
|
"assetSrc": "core/frontend/src"
|
2016-09-13 18:20:44 +03:00
|
|
|
},
|
2020-04-05 19:52:47 +03:00
|
|
|
"adapters": {
|
|
|
|
"sso": {
|
|
|
|
"active": "Default"
|
|
|
|
}
|
|
|
|
},
|
2016-09-13 18:20:44 +03:00
|
|
|
"storage": {
|
2021-11-05 15:06:20 +03:00
|
|
|
"active": "LocalImagesStorage",
|
2021-10-25 13:51:04 +03:00
|
|
|
"media": "LocalMediaStorage",
|
2021-11-08 10:29:33 +03:00
|
|
|
"files": "LocalFilesStorage",
|
|
|
|
"LocalMediaStorage": {},
|
|
|
|
"LocalFilesStorage": {}
|
2016-09-13 18:20:44 +03:00
|
|
|
},
|
|
|
|
"scheduling": {
|
|
|
|
"active": "SchedulingDefault"
|
2016-09-30 14:45:59 +03:00
|
|
|
},
|
2019-02-07 12:41:39 +03:00
|
|
|
"members": {
|
2019-02-23 06:47:42 +03:00
|
|
|
"contentApiAccess": [],
|
2020-08-20 18:14:43 +03:00
|
|
|
"paymentProcessors": [],
|
|
|
|
"emailTemplate": {
|
|
|
|
"showSiteHeader": true,
|
2020-11-17 12:00:32 +03:00
|
|
|
"showPoweredBy": true
|
2020-08-20 18:14:43 +03:00
|
|
|
}
|
2019-02-07 12:41:39 +03:00
|
|
|
},
|
2016-10-04 18:33:43 +03:00
|
|
|
"logging": {
|
|
|
|
"level": "info",
|
2016-10-25 14:17:43 +03:00
|
|
|
"rotation": {
|
2017-09-05 18:25:20 +03:00
|
|
|
"enabled": false,
|
|
|
|
"period": "1d",
|
|
|
|
"count": 10
|
2016-10-25 14:17:43 +03:00
|
|
|
},
|
2019-06-07 16:54:55 +03:00
|
|
|
"transports": ["stdout"],
|
|
|
|
"slowHelper": {
|
|
|
|
"level": "warn",
|
|
|
|
"threshold": 200
|
|
|
|
}
|
2016-11-08 14:33:19 +03:00
|
|
|
},
|
|
|
|
"spam": {
|
|
|
|
"user_login": {
|
|
|
|
"minWait": 600000,
|
|
|
|
"maxWait": 604800000,
|
|
|
|
"freeRetries": 4
|
|
|
|
},
|
|
|
|
"user_reset": {
|
|
|
|
"minWait": 3600000,
|
|
|
|
"maxWait": 3600000,
|
|
|
|
"lifetime": 3600,
|
|
|
|
"freeRetries": 4
|
|
|
|
},
|
|
|
|
"global_reset": {
|
|
|
|
"minWait": 3600000,
|
|
|
|
"maxWait": 3600000,
|
|
|
|
"lifetime": 3600,
|
|
|
|
"freeRetries":4
|
|
|
|
},
|
|
|
|
"global_block": {
|
|
|
|
"minWait": 3600000,
|
|
|
|
"maxWait": 3600000,
|
|
|
|
"lifetime": 3600,
|
|
|
|
"freeRetries":99
|
|
|
|
},
|
|
|
|
"private_block": {
|
|
|
|
"minWait": 3600000,
|
|
|
|
"maxWait": 3600000,
|
|
|
|
"lifetime": 3600,
|
|
|
|
"freeRetries":99
|
2019-01-07 16:03:46 +03:00
|
|
|
},
|
|
|
|
"content_api_key": {
|
|
|
|
"minWait": 3600000,
|
|
|
|
"maxWait": 86400000,
|
|
|
|
"lifetime": 3600,
|
|
|
|
"freeRetries": 99
|
2016-11-08 14:33:19 +03:00
|
|
|
}
|
2017-05-29 23:10:32 +03:00
|
|
|
},
|
|
|
|
"caching": {
|
|
|
|
"frontend": {
|
|
|
|
"maxAge": 0
|
|
|
|
},
|
|
|
|
"301": {
|
|
|
|
"maxAge": 31536000
|
|
|
|
},
|
|
|
|
"customRedirects": {
|
|
|
|
"maxAge": 31536000
|
|
|
|
},
|
|
|
|
"favicon": {
|
|
|
|
"maxAge": 86400
|
|
|
|
},
|
|
|
|
"sitemap": {
|
|
|
|
"maxAge": 3600
|
|
|
|
},
|
|
|
|
"robotstxt": {
|
|
|
|
"maxAge": 3600000
|
|
|
|
}
|
2018-08-30 19:30:36 +03:00
|
|
|
},
|
|
|
|
"imageOptimization": {
|
2020-06-15 18:45:36 +03:00
|
|
|
"resize": true,
|
|
|
|
"srcsets": true
|
2018-09-12 19:27:01 +03:00
|
|
|
},
|
|
|
|
"compress": true,
|
2018-12-17 17:02:47 +03:00
|
|
|
"preloadHeaders": false,
|
2019-05-28 11:04:48 +03:00
|
|
|
"adminFrameProtection": true,
|
2020-05-20 17:14:28 +03:00
|
|
|
"sendWelcomeEmail": true,
|
2020-09-17 10:55:50 +03:00
|
|
|
"stripeDirect": false,
|
2020-12-01 12:10:43 +03:00
|
|
|
"enableStripePromoCodes": false,
|
2020-12-02 16:22:12 +03:00
|
|
|
"emailAnalytics": true,
|
2020-12-01 12:10:43 +03:00
|
|
|
"backgroundJobs": {
|
|
|
|
"emailAnalytics": true
|
2021-02-12 20:31:41 +03:00
|
|
|
},
|
|
|
|
"portal": {
|
2021-10-15 09:20:27 +03:00
|
|
|
"url": "https://unpkg.com/@tryghost/portal@~1.12.0/umd/portal.min.js",
|
|
|
|
"version": "1.12"
|
2021-11-16 20:42:19 +03:00
|
|
|
},
|
|
|
|
"tenor": {
|
2021-11-30 14:25:12 +03:00
|
|
|
"publicReadOnlyApiKey": null,
|
2021-11-16 20:42:19 +03:00
|
|
|
"contentFilter": "off"
|
2021-11-30 11:32:38 +03:00
|
|
|
},
|
|
|
|
"opensea": {
|
|
|
|
"privateReadOnlyApiKey": null
|
2021-11-30 11:34:14 +03:00
|
|
|
},
|
|
|
|
"twitter": {
|
|
|
|
"privateReadOnlyToken": null
|
2020-12-01 12:10:43 +03:00
|
|
|
}
|
2016-09-13 18:20:44 +03:00
|
|
|
}
|