Django app to replace the Express/Mongo app that replaced the Meteor app... https://ausglamr.newcardigan.org
Go to file
2024-01-26 11:00:26 +11:00
ausglamr another ridiculously large commit 2024-01-26 11:00:26 +11:00
blogs another ridiculously large commit 2024-01-26 11:00:26 +11:00
.env.example another ridiculously large commit 2024-01-26 11:00:26 +11:00
.gitignore another ridiculously large commit 2024-01-26 11:00:26 +11:00
.pylintrc initial commit 2024-01-04 11:54:56 +11:00
admin.py initial commit 2024-01-04 11:54:56 +11:00
docker-compose.yml another ridiculously large commit 2024-01-26 11:00:26 +11:00
Dockerfile initial commit 2024-01-04 11:54:56 +11:00
glamr-dev another ridiculously large commit 2024-01-26 11:00:26 +11:00
manage.py initial commit 2024-01-04 11:54:56 +11:00
README.md another ridiculously large commit 2024-01-26 11:00:26 +11:00
requirements.txt prepare for prod 2024-01-08 09:33:01 +11:00
robots.txt another ridiculously large commit 2024-01-26 11:00:26 +11:00

Aus GLAMR

A django app running on Docker. Replaces Aus GLAM Blogs.

Deploy

  • docker compose build

  • ./glamr-dev makemigrations (may get a DB connection error here, ignore it or run again)

  • ./glamr-dev migrate

  • ./glamr-dev createsuperuser

  • docker compose up

  • set up database backups (as cron jobs):

  • ./glamr-dev backup:

    • /snap/bin/docker exec -u root ausglamr_db_1 pg_dump -v -Fc -U ausglamr -d "ausglamr" -f /tmp/ausglamr_backup.dump
    • /snap/bin/docker cp ausglamr_db_1:/tmp/ausglamr_backup.dump /home/hugh/backups/
    • mv /home/hugh/backups/ausglamr_backup.dump /home/hugh/backups/ausglamr_backup_$(date +'%a').dump
  • set up cron jobs for management commands as below

Admin

Don't forget to add some Content Warnings for use by the Mastodon bot.

CLI tool

Use glamr-dev to make your life easier (thanks to Mouse Reeve for the inspiration):

  • announce
  • backup
  • check_feeds
  • manage [django management command]
  • makemigrations
  • migrate
  • queue_announcements
  • send_weekly_email

And for dev work:

  • black
  • collectstatic
  • createsuperuser
  • pylint
  • resetdb
  • test

Registration

  • users can register a blog, group, event, newsletter, or Call for Papers.
  • most of these ask for an "owner email" - this is optional but allows us to communicate with the person registering.
  • all registrations should trigger an email to admin
  • all must be approved before they are included

Management commands

There are four commands:

  • announce
  • check_feeds
  • queue_announcements
  • send_weekly_email

These will not be triggered within the app - they should be called via cron jobs.

announce

This announces the next queued announcement on Mastodon.

Run every 21 mins.

check_feeds

This checks all blog feeds for any new posts, and adds them to the database as long as they don't have an exclusion tag and were not published during a time the blog was suspended.

Also checks newsletter articles if there is a feed.

Run every hour.

queue_announcements

This queues announcements for events and CFPs. These are announced three times, evenly spaced between when they were added and when the event starts or the CFP closes.

Run daily.

send_weekly_email

Does what you think. Creates a weekly email of the latest stuff, and send to everyone in Subscribers.

Run weekly.

Backups

There is a backup command in glamr-dev. You can adjust the filepaths in your .env file.

Run daily