Meetable is a self-hosted event planning and RSVP service created by the IndieWeb community. This guide will show you how to install Meetable on FreeBSD Latest.
Before we start, we need to install some dependencies for Meetable.
$ sudo pkg install ruby rubygem-bundler
Next, we need to download Meetable from its GitHub repository.
$ git clone https://github.com/indieweb/meetable.git
Now we need to install Meetable and its dependencies.
$ cd meetable
$ bundle install --deployment --without=development test
Meetable comes with a sample configuration file that we can use as a template. We need to copy this file to a new file and edit it.
$ cp config/meetable.yml.sample config/meetable.yml
Open the config/meetable.yml
file in your favorite text editor and update the following fields:
url
: set this to your domain name or subdomainsecret_key_base
: generate a new random secret key using rake secret
and copy the outputdatabase
: update the database credentials if necessarySave and close the file.
We need to create the database and run the migrations.
$ bundle exec rake db:create db:migrate
Finally, we can start Meetable.
$ bundle exec rails server
Open your web browser and go to http://your-domain.com:3000
. You should see the Meetable application running.
By default, Meetable runs on port 3000. We can configure Nginx to proxy requests to Meetable and serve it over port 80 or 443.
Create a new Nginx configuration file for Meetable.
$ sudo nano /usr/local/etc/nginx/sites-available/meetable
Paste the following configuration into the file and update the domain name and SSL certificate paths:
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
}
server {
listen 443 ssl http2;
server_name your-domain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/privkey.pem;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
}
Save and close the file.
Now we need to enable the new configuration file and restart Nginx.
$ sudo ln -s /usr/local/etc/nginx/sites-available/meetable /usr/local/etc/nginx/sites-enabled/
$ sudo service nginx restart
Now Meetable should be accessible over port 80 or 443 on your domain name or subdomain.
That's it! You have successfully installed Meetable on FreeBSD Latest and configured it to run behind Nginx. You can now start creating events and inviting your friends!
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!