Issue with ghost setup ssl

If you’re looking for help, please provide information about your environment. If you delete this template and don’t provide any information, your topic will be automatically closed.

If you aren’t running the latest version of Ghost, the first thing we’ll ask you to do is update to the latest version of Ghost.

  • What’s your URL? This is the easiest way for others to help you
  • What version of Ghost are you using? If it’s not the latest, please update Ghost first before opening your topic


  • How was Ghost installed and configured?
    Through the truenas scale walkthrough
  • What Node version, database, OS & browser are you using?
    I’m not sure of the node version or database version, but my OS is linux container, and attempting to access and change info on a windows 11 machine with chrome
  • What errors or information do you see in the console?
    $ ghost setup ssl
    :heavy_multiplication_x: Checking for deprecations
    An error occurred.
    Message: ‘ENOENT: no such file or directory, mkdir ‘/.ghost’’

Debug Information:
OS: Debian GNU/Linux, v11
Node Version: v14.19.1
Ghost Version: 4.47.0
Ghost-CLI Version: 1.19.3
Environment: production
Command: ‘ghost setup ssl’
A promise was rejected but did not have a .catch() handler:
Error: ENOENT: no such file or directory, mkdir ‘/.ghost/logs’
at Object.mkdirSync (fs.js:1013:3)
at Object.module.exports.makeDirSync (/usr/local/lib/node_modules/ghost-cli/node_modules/fs-extra/lib/mkdirs/make-dir.js:101:15)
at System.writeErrorLog (/usr/local/lib/node_modules/ghost-cli/lib/system.js:361:12)
at UI.error (/usr/local/lib/node_modules/ghost-cli/lib/ui/index.js:462:40)
at Function._run (/usr/local/lib/node_modules/ghost-cli/lib/command.js:200:16)
at processTicksAndRejections (internal/process/task_queues.js:95:5)
throw reason;

Error: ENOENT: no such file or directory, mkdir ‘/.ghost/logs’
at Object.mkdirSync (fs.js:1013:3)
at Object.module.exports.makeDirSync (/usr/local/lib/node_modules/ghost-cli/node_modules/fs-extra/lib/mkdirs/make-dir.js:101:15)
at System.writeErrorLog (/usr/local/lib/node_modules/ghost-cli/lib/system.js:361:12)
at UI.error (/usr/local/lib/node_modules/ghost-cli/lib/ui/index.js:462:40)
at Function._run (/usr/local/lib/node_modules/ghost-cli/lib/command.js:200:16)
at processTicksAndRejections (internal/process/task_queues.js:95:5) {
errno: -2,
syscall: ‘mkdir’,
code: ‘ENOENT’,
path: ‘/.ghost/logs’

  • What steps could someone else take to reproduce the issue you’re having?
    Install truenas scale, install ghost, attempt to run ghost setup ssl in the shell

I don’t run TrueNAS, so can’t offer much assistance, but from the link you posted it is evident that you aren’t proxying Ghost; SSL requires a proxy server, e.g., Nginx. It would be useful if you included links to the resources you used to install Ghost.

The errors simply mean that ghost-cli is expecting to find files in the specified path, but they do not exist.

1 Like

If you are just getting the site set up, why not start with the latest version of Ghost, version 5?

Have you purchased a domain name? The URL you linked to is an IP address. Unless your organization owns a block of IP addresses, you’ll need a domain name for SSL to work.

I own a domain for it, but im not terribly familiar with anything beyond basic pointing. I use the version of ghost released for Truenas Scale.

Pointing the domain to that IP above will be part of the process. If you intend to host the blog on a non-standard port (10166) and are services running on port 80 or 443, that could also be an issue for SSL setup as those parts are standard and usually used for SSL validation.

I would strongly recommend looking for a way to use the lastest supported versions of Ghost, Node (16) and MySQL (8) since you are just getting started. The Ghost 4.x stack is only supported for less than a year more. After that, you can’t expect that security patches will be issued for it.

TrueNas appears to be able to host containers. Consider hosting a Ubuntu 20.04 container, and installing the latest supported Ghost stack in there.

I’m sure the image will be updated soon as the Trucharts team is great about updating their supported programs, and I believe that 5.X is in the incubator stage to validate. That being said, I understand why you would suggest that I do that, but consider me in over my head already. I cannot host a ubuntu container as easily as installing from a verified image.

Also, if the image used SQLite, you’ll have to start over when switching to V5 since this only supports MySQL.

If you can pull an Ubuntu 20.04 Server image, it’s really straightforward installing Ghost, and you’ll have a better chance of support going forward.

You may be a good candidate for a paid hosting plan then: Ghost(Pro) - Official managed hosting for Ghost

Spend less time on your infra and more time on your content. You can export/import your content from the paid hosting services to self-hosting service if you change your mind later.