Users discuss installing Discourse on low-RAM servers (1GB), with warnings about needing swap space for stability and upgrades. david234 asks if starting with 1GB RAM is safe and whether Discourse auto-adapts to added RAM later. mikechristopher advises pairing 1GB RAM with a 2GB swap file to handle peak loads. pfaffman notes that ./discourse-setup can auto-create swap and configure the system to minimize its use, suggesting the installer’s warning should emphasize this. EmileKR recalls older versions auto-created swap, but experienced issues manually adding it. codinghorror confirms a fresh 1GB DigitalOcean droplet install works — the script auto-creates a 2GB swapfile and configures memory settings appropriately, showing a successful install screenshot. EmileKR retried and confirmed it works, though previously had to upgrade to 2GB due to a bug on AWS Ubuntu 18.04. PierreThibault is confused because DigitalOcean discourages swap on SSDs, yet sees the same warning. Falco reassures users that following the official installation guide will auto-configure swap — no manual intervention needed. Overall, Discourse’s installer handles swap setup automatically for low-RAM systems, making 1GB viable with swap, though future upgrades or high load may still benefit from more RAM.
I attempted to install Discourse on a digital ocean droplet with 1gb of RAM, the installer stated I should ideally be using 2gb of RAM, it mentionned swap files and that I could potentially run into problems with future upgrades.
Therefore is it safe to start with 1GB and if required upgrade the RAM later - would Discourse automatically use the additional RAM or would one need to amend the configuration in some way to allow for more RAM in future - and if so how?
You can run on the 1GB of ram to start with however I believe you would need a 2GB swap file to go with it in order to allow it to peak when doing resource intensive stuff such as upgrades etc.
If you have the 1GB Ram + 2GB Swap it should keep you going for a while thats for sure.
There are many posts on the forum about it so worth having a search through
I just tested an install on a new 1GB Digital Ocean droplet using our default cloud install instructions, and it worked fine:
root@delete-me-install-test:~# sudo -s
root@delete-me-install-test:~# git clone https://github.com/discourse/discourse_docker.git /var/discourse
Cloning into '/var/discourse'...
remote: Enumerating objects: 41, done.
remote: Counting objects: 100% (41/41), done.
remote: Compressing objects: 100% (28/28), done.
remote: Total 4455 (delta 15), reused 23 (delta 12), pack-reused 4414
Receiving objects: 100% (4455/4455), 968.00 KiB | 10.75 MiB/s, done.
Resolving deltas: 100% (2833/2833), done.
root@delete-me-install-test:~# cd /var/discourse
root@delete-me-install-test:/var/discourse# ./discourse-setup
WARNING: Discourse requires at least 2GB of swap when running with 2GB of RAM
or less. This system does not appear to have sufficient swap space.
Without sufficient swap space, your site may not work properly, and future
upgrades of Discourse may not complete successfully.
Ctrl+C to exit or wait 5 seconds to have a 2GB swapfile created.
2097152+0 records in
2097152+0 records out
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 6.28174 s, 342 MB/s
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=2233bd64-65cf-4468-9548-ab7897657855
/swapfile swap swap auto 0 0
vm.swappiness = 10
Ports 80 and 443 are free for use
'samples/standalone.yml' -> 'containers/app.yml'
Found 1GB of memory and 1 physical CPU cores
setting db_shared_buffers = 128MB
setting UNICORN_WORKERS = 2
containers/app.yml memory parameters updated.
Hostname for your Discourse? [discourse.example.com]:
screenshot of it up and running at the IP address:
I am in a similar situation. I’ve created a 2GB droplet with Discourse on DigitalOcean. I have this warning when I start the Droplet:
WARNING: Discourse requires at least 2GB of swap when running with 2GB of RAM
or less. This system does not appear to have sufficient swap space.
But the DigitalOcean documentation is recommending to not create SWAP space for a droplet using a SSD. And mine is using a SSD (like all droplets I guess).
So I am confused about what should I do. What would you recommend?