Skip to content

lyle/geekspeak.org

Repository files navigation

GeekSpeak is a technology radio show which consits of a group of Geeks covering news of the week, doing interviews, and taking listener questions.

The GeekSpeak.org site - allows the creation of episodes, episodes have participants and bits. A bit is a title (required), a link, and content. Bits are ordered to represent when they were covered on the radio show. Episodes can also have images and, of course, audio files.

Install for Local Development

brew install postgres

  • Install rbenv
  • In the source directory - look at .ruby_version for the current version (in this example 2.2.4) and make sure it is installed,
rbenv install 2.2.4

Other code we use

Changes

To suggest changes or report bugs please create an issue on github.

Note

This codebase is not really generic enough to run other Podcasts without a bit of work. If you are intersted in doing so please contact me so I can help with the "generification" of the system. - it is on my long term todo list.

Install Process

We use Capistrano - to install on a new machine we will need the new machine to be able to read github public table. Run ssh-agent

ssh-agent
ssh-add -l

If you do not have an identity on your local machine you will need to go through the process of making sure both your local rsa pub is on Github as you, and also that you have that idenity added to the agent

ssh-add

(on a Mac, you can get the password for the private key be looking in keychain)

Secrets and Database file

On the new machine put the secrets.yml and database.yml files in geekspeak.org/shared/config

Ruby

Until now GeekSpeak.org has been using rvm (ruby version manager), but we are switching to rbenv. brew install rbenv 1.9.2 ruby can no longer be installed on El Capitan.. so switching to 1.9.3-p551 rbenv install 1.9.3-p551 - the .ruby-version file specifies this version gem install bundler (relaunch your term) bundle install 'rbenv rehash'

Data

You need postgres db installed on the target machine - for ubuntu

sudo apt install postgresql postgresql-contrib libpq-dev

Then start the service

sudo systemctl start postgresql@12-main

Create a postgres database with the name geekspeak_org, with owner geekspeak_org - and set up a pw.

sudo -u postgres psql
postgres=# create database geekspeak_org_production;
postgres=# create user geekspeak_org with encrypted password 'mypass';
postgres=# grant all privileges on database geekspeak_org_production to geekspeak_org;

Get a backup of the GeekSpeak database (example: "2016-01-02_geekspeak.org_production") and import it into running database: psql -h localhost -d geekspeak_org_production -U geekspeak_org -f 2016-01-02_geekspeak.org_production

Build requirements

It looks like we need Node on the box to.

sudo apt-get install nodejs

Nginx

sudo apt install nginx

Restarting the Service former way

If Puma goes down, when it is not a sysdemon

this seemed to do the trick

~/apps/geekspeak.org/current$ bundle exec puma -C /mnt/volume-sfo2-01/geekspeak-shared/puma.rb  --daemon