Getting your own instance of FreeFeed
This repository provides a simple way to spin up your own FreeFeed instance on DigitalOcean. If you prefer or otherwise have to use another hosting provider, you might need to do some minor modifications in the config, and some manual steps might be different.
Create a user account on DigitalOcean, and create a Debian 11 droplet. It's important to select Debian OS, and the 11 version of it.
As for the droplet size, we recommend to start with the second cheapest, which as of April 2022 costs $12/month.
We also recommend to enable backups.
Which registrar to use for domain name is not important, pick whatever works best for you. Here is links to documentation on how to create an A record pointing to the server IP address on some of the popular ones:
$ ssh root@<your new server ip>
useradd -G sudo -m freefeed
cp -r .ssh /home/freefeed/
passwd freefeed # make some password
Now you can logout and ssh again as freefeed
exit
$ ssh freefeed@<your new server ip>
sudo apt-get update
sudo apt-get install snapd ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io python3-pip
sudo pip3 install docker-compose
sudo usermod -a -G docker freefeed
exit
$ ssh freefeed@<your new server ip>
sudo apt update
sudo apt install snapd
sudo snap install core && sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Certbot will ask a few questions in the process. You need to have your domain already by now.
sudo certbot certonly --standalone
sudo chmod -R 755 /etc/letsencrypt/live/
sudo chmod -R 755 /etc/letsencrypt/archive/
sudo mkdir -p /var/freefeed-files/attachments/thumbnails
sudo mkdir -p /var/freefeed-files/attachments/thumbnails2
sudo chown -R freefeed:freefeed /var/freefeed-files
pip3 install cookiecutter
cookiecutter https://github.com/freefeed/freefeed-cookiecutter # answer questions to setup your own config
cd <your site url>
docker network create freefeed
docker-compose build
docker-compose up -d
docker-compose logs -f
Wait for the Server is running in production mode
message from the server container, and type your site url in the browser!