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

**URL:** https://meta.discourse.org/t/verification-email-will-not-send-due-to-errors-caused-by-docker-filesystem/32887
**Category:** Self-hosting
**Tags:** email
**Created:** [3 سبتمبر 2015، 9:07م UTC](https://meta.discourse.org/t/verification-email-will-not-send-due-to-errors-caused-by-docker-filesystem/32887 "2015-09-03T21:07:18Z")
**Posts on this page:** 4
**Page:** 2

<div class="post-metadata">

### Author: ![jd2066](https://avatars.discourse-cdn.com/v4/letter/j/df788c/32.png) [@jd2066](https://meta.discourse.org/u/jd2066)
#### Post date: [4 سبتمبر 2015، 5:52ص UTC](https://meta.discourse.org/t/verification-email-will-not-send-due-to-errors-caused-by-docker-filesystem/32887/21 "2015-09-04T05:52:25Z")

</div>

> [@codinghorror](#):
>
> I think you have a busted install, somehow. If you don’t have any plugins or any other unusual settings, I can’t think of any reason you would have strange errors related to email.

Ok, in that case my docker configuration must be messing up the install.  
Only thing I can think of is that with my root file system being ext3 and my /var/lib/docker filesystem is formatted as ext4 there is a problem somehow.  
I only created a separate file system for /var/lib/docker because overlayfs didn’t seem to work with the root file system that is ext3.  
I could just upgrade the root file system to ext4 and have /var/lib/docker on the root file system, I’m just not sure if it would help or not.  
It seems to be hard to find a list of overlayfs requirements.

> [@riking](#):
>
> Actually sam probably has a newer kernel version. @jd2066 does Linode let you pick a newer kernel?

I have the latest Linode Kernel “4.1.5-x86\_64-linode61”.  
I could compile my own kernel but it seems like 4.1.5 should be new enough.

---

<div class="post-metadata">

### Author: ![jd2066](https://avatars.discourse-cdn.com/v4/letter/j/df788c/32.png) [@jd2066](https://meta.discourse.org/u/jd2066)
#### Post date: [4 سبتمبر 2015، 7:35ص UTC](https://meta.discourse.org/t/verification-email-will-not-send-due-to-errors-caused-by-docker-filesystem/32887/22 "2015-09-04T07:35:53Z")

</div>

> [@jd2066](#):
>
> I could just upgrade the root file system to ext4 and have /var/lib/docker on the root file system, I’m just not sure if it would help or not.

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.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [4 سبتمبر 2015، 6:21م UTC](https://meta.discourse.org/t/verification-email-will-not-send-due-to-errors-caused-by-docker-filesystem/32887/23 "2015-09-04T18:21:05Z")

</div>

If email is working now on a default install, and it sounds like it is, you’re good. So this was a filesystem problem with Docker as suspected.

---

<div class="post-metadata">

### Author: ![riking](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/riking/32/170938_2.png) [@riking](https://meta.discourse.org/u/riking)
#### Post date: [4 سبتمبر 2015، 6:21م UTC](https://meta.discourse.org/t/verification-email-will-not-send-due-to-errors-caused-by-docker-filesystem/32887/24 "2015-09-04T18:21:31Z")

</div>

> [@jd2066](#):
>
> 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

I believe those settings tell Discourse to take less resources than the default. If the forums are slow, you can bump those up. db\_shared\_buffers should be 1/4 of your RAM.

[Previous page](https://meta.discourse.org/t/verification-email-will-not-send-due-to-errors-caused-by-docker-filesystem/32887.md?page=1)
