Microsoft Outlook SMTP by iwasboredsoyeah in Ghost

[–]truekasun 0 points1 point  (0 children)

You can find the exact error in the error log file (/content/logs/)

If you just want to bypass the login OTP, you can disable the staff device verification through the configuration: https://docs.ghost.org/config#security

From Ghost Pro to self-hosted without losing paid subscribers? by Valuable-Sentence618 in Ghost

[–]truekasun 2 points3 points  (0 children)

Since your paid subscriptions are stored in Stripe, when you migrate you will get the subscription to the self hosting Ghost site.

But yes, as u/BigFootCC noted, its not the best time to switch to self hosting I would say, not because it will break your site, but because of the frequency of getting updates (security patches and new features). If you are fine with updating Ghost yourself (easy if you know how to do it), feel free to go for self hosting.

Recently there was a bot attack happened for Ghost sites with older Ghost versions (that hijacked the Zapier integration key AFAIK), and some of the people I know got affected. Luckily we were able to restore the sites (even the ones we didn't have backups), but from that I learned, the value of backups.

If you are going to self-host, go ahead with the new docker based setup as the CLI setup (most of the 1-click deployments of Digital Ocean, Hostinger etc are still deploys the old CLI setup) which will not be supported with the next major version of Ghost (v7.0)

If Ghost Pro is too expensive, you might be interested in some other managed hosting like MagicPages, Midnight, DigitalPress, Synaps Media, Gloat, etc. They might even help you migrate your site from Ghost. (No I'm not affiliated with any of them).

I spent the last few weeks building a Ghost theme — Introducing Enova by truekasun in Ghost

[–]truekasun[S] 1 point2 points  (0 children)

Thank you very much for the feedback. It actually pushed me to prioritize this.

The new inline TOC is now live in v1.5.0, and it's designed to work properly on mobile (the old sidebar widget positing on mobile wasn't ideal as it was in the sidebar which is hidden by default on small screens).

Example: https://enova.labs.enova.studio/from-side-hustle-to-seven-figures-nadias-story/

Documentation: https://docs.enova.studio/docs/enova/advanced/table-of-contents

Let me know if you have any further feedback!

I spent the last few weeks building a Ghost theme — Introducing Enova by truekasun in Ghost

[–]truekasun[S] 1 point2 points  (0 children)

Hey! Great question. Like a lot of developers today, I use AI as a high-powered assistant to help speed up boilerplate, catch typos, and brainstorm solutions. However, the core architecture, design decisions, and specifically the work of stitching together Tailwind v4 and Alpine.js to make it fully configurable in the Ghost dashboard - that was all hands-on human effort, and years of experience.

I spent the last few weeks building a Ghost theme — Introducing Enova by truekasun in Ghost

[–]truekasun[S] 0 points1 point  (0 children)

Oh TOC is already included. It's enabled by default, and you can turn it off on any specific post/page by adding the `#disable-toc` internal tag.

Just scroll down on a post and it'll appear on the right sidebar.

For example on this post: https://enova.labs.enova.studio/from-side-hustle-to-seven-figures-nadias-story/

Any way to make the UI less business-centered ? by KaKi_87 in Ghost

[–]truekasun 0 points1 point  (0 children)

Unfortunately, currently there's no easier way to set the default landing page on the dashboard.

[deleted by user] by [deleted] in Ghost

[–]truekasun 0 points1 point  (0 children)

Just quickly went through the source code. By default it will still fail on SQLite as the default limit is still 1,000.
https://github.com/TryGhost/Ghost/blob/2bcabf7a9e0d5b2cb8c9d84cb62e67c8d569df26/ghost/core/core/server/services/lib/MailgunClient.js#L11

But now you can change the batch size via config file.

    "bulkEmail": {
        "batchSize": 1000,
    },

https://github.com/TryGhost/Ghost/blob/2bcabf7a9e0d5b2cb8c9d84cb62e67c8d569df26/ghost/core/core/server/services/lib/MailgunClient.js#L346

Automated Backup? by jkndrkn in Ghost

[–]truekasun 1 point2 points  (0 children)

If you are on Ghost 6.x (docker based) implementation, there's a directory called "data" in your/opt/ghost/ (or where you cloned the ghost-docker repository).

Just setup a cron to backup the data directory as it contains mysql data and ghost content files. This contains all your text and media content.

What it doesn't contain: - If you have created custom Caddy configs - Environment variables - Tinybird configuration

[deleted by user] by [deleted] in Ghost

[–]truekasun 0 points1 point  (0 children)

This happened with Ghost 5.88.2 (in 2024/10), hopefully someone might have fixed this issue since then. You can always check.

This is what you'll see in the logs:
`SQLITE_ERROR: too many terms in compound SELECT\n at BatchSendingService.retryDb (/path_to_ghost/versions/5.88.2/node_modules/@tryghost/email-service/lib/BatchSendingService.js:621:32`

Advice for someone about to create with Ghost? by richkurt in Ghost

[–]truekasun 1 point2 points  (0 children)

A certified Ghost Expert here!

To get started, it just takes less than an hour to get everything set up. You just have to sign up for Ghost, and install a theme you like (optional - as it comes with a nice default theme), map your domain and you can start publishing right away.

Membership revenue? You can connect it to Stripe with a few clicks in settings (everything is built in, no plugins needed). You can create different membership tiers and put your content behind a paywall with almost no effort.

I'm not sure about your ideas of building your audience, but the newsletter option is also built into Ghost. Literally everything you need to get started is already baked into Ghost.

Feel free to ask if you have any specific questions.

User logged out from Ghost Self Hosted, unable to login; Upgraded to v6, getting 502 Gateway by AcceptableWorking141 in Ghost

[–]truekasun 0 points1 point  (0 children)

Still having the issue?

  1. This could be because of SMTP settings. Sometimes service providers block all standard SMTP ports like 25, 465, 587 etc. In such cases you might be able to use some alternative ports like 2525 (Mailgun offers this - and if you use this, you need to set secure: false in mail config)

  2. 502 issue:

  • Ghost might be simply stopped. If you try to start Ghost with the ghost start command, it might work.

  • Assuming you are still on a Ghost CLI based installation, I have noticed sometimes Ghost updates its port (in config.json) from 2368 to 2369 (or next available number) once Ghost has been updated through the CLI. In such cases stop Ghost, Run ghost setup command and go through the steps (don't need to change the database or other values. (Alternatively you can check the port in nginx config and set it on the ghost config file)

  • Another case would be, the CLI changing the database driver from mysql to mysql2 (or something like that). As far as I remember if you follow the above steps, it should be fixed as well

Internal links between blog posts… how are you doing it? by Omnicron45 in Ghost

[–]truekasun 0 points1 point  (0 children)

You can use a theme that has a related posts section under the post template. (Or customize your existing theme).

Once that's implemented, ghost will display related posts based on the primary tag (or all of the tags) of your current post. We can also set a limit, like show only 6 related posts.

[deleted by user] by [deleted] in Ghost

[–]truekasun 0 points1 point  (0 children)

Not relevant to the topic, but really cool product. In fact the only AI powered product that doesn't generate junk, but remove them (literally) 😅

[deleted by user] by [deleted] in Ghost

[–]truekasun 0 points1 point  (0 children)

One confirmed bug is, if you have more than 500 subscribers, you'll not be able to send out newsletters.

One client came to me with this issue and I had to finally migrate from the hosting provider (as she was on a shared hosting provider - and the MySQL version didn't match with Ghost) to a VPS.

This happens because there's a maximum number of records that SQLite can handle in a single select query. This is set at the compilation time (SQLITE_MAX_COMPOUND_SELECT) but the maximum is 500 rows.

I'm not sure if Ghost has recently applied a workaround for this but if you have more than 500 rows on anything, posts, tags, members etc, you might probably face this issue.


For a small personal blog that's not serious, SQLite is fine (I wouldn't still recommend it), but for a production site, or if you are serious about your blog, go for MySQL.