Is it worth keeping database in a remote path separate from running app?

Hello, I wish to self-host a blog using the Ghost framework on AWS, and I have a question before installation:
Does it make sense that I configure the Sqlite3 DB of Ghost to sit on a remote path in an S3 bucket, so that it will not reside in the same machine which runs Ghost? I am asking this from a “safety of data” perspective, if you believe it makes sense that the DB is kept in another environment than the app itself. Or would this just be too much hassle for nothing.

And a second question, while we’re at it: is there any downside on keeping database to sqlite3 or is it definitely recomended to switch to MySQL ? Is there a certain number of posts that this transition should be considered after?

Many thanks,
Best regards,

Hey @Andrei_C :wave:

Since the sqlite database should always be writable, there won’t be much of a security benefit from isolating the database. If you do decide to use s3, don’t forget to make the bucket private :wink:

The downsides to running sqlite3 is it’s not as performant as MySQL, but it is quite performant. The Core team tries to ensure 1:1 compatibility between MySQL and SQLite, but sqlite does have a variable limit (of 999) that has been worked-around multiple times.

1 Like

Thank you, though I am not sure what 999 variables refers to. More questions pls :slight_smile:

  1. is it possible to use sqlite3 in production mode, and
  2. is there a hard limit of any type when using sqlite3 (limited post count / limited database size / etc), because for financial reasons I would rather not use MySql in the first stages of the blog, as adding a MySql DB on aws adds the the monthly cost.
  3. if I go the sqlite3 route, is it possible to later migrate everything hassle free to MySql?
  1. Yes, many people (including most of the self-hosted Docker community) use sqlite
  2. The limits of sqlite won’t be a problem for small to medium sized blogs
  3. Yes. You can do this either through the database layer, or through Ghost

As an aside, how are you running Ghost in AWS?

1 Like

Thank you very much! That’s great to know. Will start with filesystem for now on a private s3 path and will migrate later.
How I run, well I use AWS Lightsail and I saw that you can choose a predefined Bitnami Ghost image there, but actually I will use a nodejs ubuntu image because I want to configure a different path and learn the ghost CLI and such.