Verification Email will not send due to errors caused by Docker filesystem

I just decided to try my idea so I created a new ext4 disk image on linode, rebooted into rescue mode (Finnix LiveCD), copied everything from the ext3 disk image to the ext4 disk image, changed my linode to boot from the ext4 disk image and started my linode.
I then deleted /var/discourse and with my docker image gone my /var/lib/docker was empty again too.
I restarted my discourse install from step 1.
I did the same as before though I did change a couple of things in app.yml that were recommended for 1GB.

When I ran ./launcher bootstrap app, I thought I saw the error with the tables again but like before discourse seemed to work.
Also this time when signing up for an admin account, I got an email from MailJet saying I needed to approve a need sender address.
I didn’t have an MX record for forum.mydomain.tld, just mydomain.tld so I added one, told discourse to resend the email and now I got the message.

I just checked /log and saw this again:

PG::UndefinedTable: ERROR:  relation "users" does not exist
LINE 5:                WHERE a.attrelid = '"users"'::regclass
                                          ^
:               SELECT a.attname, format_type(a.atttypid, a.atttypmod),
                     pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
                FROM pg_attribute a LEFT JOIN pg_attrdef d
                  ON a.attrelid = d.adrelid AND a.attnum = d.adnum
               WHERE a.attrelid = '"users"'::regclass
                 AND a.attnum > 0 AND NOT a.attisdropped
               ORDER BY a.attnum

Though unlike before I no problems with email.

So in short: It appears when you using overlayfs with docker your root filesystem needs to be ext4 not ext3 or you will not be able to send email (also using the vfs storage driver for docker with ext3 root file system seems to fail though that maybe because the vfs driver quickly uses all disk space).
Unless it was just a coincidence and it was setting these settings in app.yml which made the email work:
db_shared_buffers: "256MB"
UNICORN_WORKERS: 2
Before the settings were commented out as they were set to whatever the defaults are.

1 个赞