forked from nutomic/peertube.social
Add script for email announcements
This commit is contained in:
parent
a0528dc1af
commit
2a244ee167
3 changed files with 37 additions and 4 deletions
4
files/email-template.txt
Normal file
4
files/email-template.txt
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
subject:email to all users
|
||||||
|
from:info@your-instance.com
|
||||||
|
|
||||||
|
this is a test email.
|
27
files/send-email-to-users.bash
Normal file
27
files/send-email-to-users.bash
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo -e "This will send an email to all users, based on the template in $(pwd)/email-template.txt. Content:\n\n"
|
||||||
|
cat email-template.txt
|
||||||
|
echo -e "\n\n"
|
||||||
|
|
||||||
|
read -p "Send test email (y/N)? " SEND_EMAIL
|
||||||
|
case "$SEND_EMAIL" in
|
||||||
|
[yY]* ) ;;
|
||||||
|
[nN]* ) exit;;
|
||||||
|
* ) exit;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
EMAIL_LIST=$(mktemp)
|
||||||
|
echo $EMAIL_LIST
|
||||||
|
docker-compose exec -T -u postgres postgres psql -U peertube -d peertube -c "SELECT email FROM public.user WHERE NOT blocked" -t > $EMAIL_LIST
|
||||||
|
echo "Sending email to $(wc -l $EMAIL_LIST | cut -d' ' -f1) users"
|
||||||
|
|
||||||
|
cat $EMAIL_LIST | while read EMAIL
|
||||||
|
do
|
||||||
|
echo "sending to $EMAIL"
|
||||||
|
cat email-template.txt | \
|
||||||
|
docker exec -i "$(docker-compose ps -q postfix)" sendmail -t "$EMAIL"
|
||||||
|
done
|
||||||
|
|
||||||
|
rm $EMAIL_LIST
|
10
peertube.yml
10
peertube.yml
|
@ -25,11 +25,13 @@
|
||||||
- { path: '/peertube/volumes/certbot/' }
|
- { path: '/peertube/volumes/certbot/' }
|
||||||
- { path: '/peertube/volumes/config/' }
|
- { path: '/peertube/volumes/config/' }
|
||||||
|
|
||||||
- name: copy docker config
|
- name: copy files
|
||||||
copy: src={{item.src}} dest={{item.dest}} mode='0644'
|
copy: src={{item.src}} dest={{item.dest}} mode={{item.mode}} force={{item.force}}
|
||||||
with_items:
|
with_items:
|
||||||
- { src: 'files/docker-daemon.json', dest: '/etc/docker/daemon.json' }
|
- { src: 'files/docker-daemon.json', dest: '/etc/docker/daemon.json', mode: '0644', force: 'yes' }
|
||||||
- { src: 'files/local-production.json', dest: '/peertube/volumes/config/local-production.json' }
|
- { src: 'files/local-production.json', dest: '/peertube/volumes/config/local-production.json', mode: '0644', force: 'yes' }
|
||||||
|
- { src: 'files/send-email-to-users.bash', dest: '/peertube/send-email-to-users.bash', mode: '755', force: 'yes' }
|
||||||
|
- { src: 'files/email-template.txt', dest: '/peertube/email-template.txt', mode: '0644', force: 'no' }
|
||||||
|
|
||||||
- name: get latest peertube version from github
|
- name: get latest peertube version from github
|
||||||
uri:
|
uri:
|
||||||
|
|
Loading…
Reference in a new issue