Differences between revisions 13 and 14
Revision 13 as of 2021-10-12 13:56:33
Size: 2578
Editor: Praveen A
Comment: add instruction to start rails console
Revision 14 as of 2021-10-12 15:57:00
Size: 2608
Editor: Praveen A
Comment: nginx configuration is done manually
Deletions are marked like this. Additions are marked like this.
Line 45: Line 45:
 1. Configure nginx - not started  1. Configure nginx - in progress (todo: switch to unix socket)

Pupilfirst (https://www.pupilfirst.com/) is a Free Software Learning Management system written in Ruby on Rails. Currently they only support deploying to heroku. This page will be used to keep track of packaging pupilfirst for Debian.


Add personal repo of pupilfirst maintainer following https://people.debian.org/~praveen/pupilfirst/README

$ sudo apt install ruby-rails/experimental ruby-actioncable/experimental \
ruby-actionmailbox/experimental ruby-actionmailer/experimental \
ruby-actionpack/experimental ruby-actiontext/experimental \
ruby-actionview/experimental ruby-activejob/experimental ruby-activemodel/experimental \
ruby-activerecord/experimental ruby-activestorage/experimental \
ruby-activesupport/experimental ruby-railties/experimental \
ruby-tzinfo/experimental pupilfirst

Visit http://localhost:3000 on your browser to see the default page.

Start rails console,

$ source /usr/lib/pupilfirst/scripts/env.sh
$ cd /usr/share/pupilfirst/
$ sudo -u pupilfirst -EH bundle exec rails console

and follow upstream documentation to configure your instance https://github.com/pupilfirst/pupilfirst/blob/master/docs/developers/docs/heroku.md#set-up-a-user-to-sign-in-with

Current status

  1. Basic package template - done
  2. Install rubygems dependencies (pull unpackaged gems from rubygems.org) - done
  3. Configure database - in progress (need to provide a working config/database.yml)
  4. Run database migrations - done (https://github.com/pupilfirst/pupilfirst/issues/797)

  5. Install node dependencies - done (needed some symlink magic)
  6. Precompile assets (includes webpacker) - done (needed to copy source tree to /var as symlinking some directories don't work)
  7. Start rails app - done (use local storage over amazon s3, create tmpfiles.d config for pids and sockets, need to disable https)
  8. Configure puma - done (needed to set PATH explicitly for execjs to detect nodejs)
  9. Configure systemd units - done (needed to set PATH explicitly for execjs to detect nodejs)
  10. Configure nginx - in progress (todo: switch to unix socket)
  11. Properly generate keys and remove hard coding - not started
  12. Setup debconf for choosing hostname and https - not started