about summary refs log tree commit diff
diff options
context:
space:
mode:
authorYamagishi Kazutoshi <ykzts@desire.sh>2017-07-14 19:13:43 +0900
committerEugen Rochko <eugen@zeonfederated.com>2017-07-14 12:13:43 +0200
commit0fa9dd85273fed7f5412b9b1be21d8db7c5ed7bb (patch)
tree39526e239e667d384c01d9bd1cde0f1bf5ffaf33
parent489d1624777d86b710bd4f467857a7e7c3bd3128 (diff)
Add Rake task for generate VAPID key (#4195)
* Add Rake task for generate VAPID key

* edit config/initializers/vapid.rb
-rw-r--r--.env.production.sample2
-rw-r--r--config/initializers/vapid.rb2
-rw-r--r--lib/tasks/mastodon.rake9
3 files changed, 11 insertions, 2 deletions
diff --git a/.env.production.sample b/.env.production.sample
index faefa2482..eb1c5a48f 100644
--- a/.env.production.sample
+++ b/.env.production.sample
@@ -36,7 +36,7 @@ OTP_SECRET=
 # You should only generate this once per instance. If you later decide to change it, all push subscription will
 # be invalidated, requiring the users to access the website again to resubscribe.
 #
-# ruby -e "require 'webpush'; vapid_key = Webpush.generate_key; puts vapid_key.private_key; puts vapid_key.public_key;"
+# Generate with `rake mastodon:webpush:generate_vapid_key` task (`docker-compose run --rm web rake mastodon:webpush:generate_vapid_key` if you use docker compose)
 #
 # For more information visit https://rossta.net/blog/using-the-web-push-api-with-vapid.html
 VAPID_PRIVATE_KEY=
diff --git a/config/initializers/vapid.rb b/config/initializers/vapid.rb
index 74e07377c..618f5a3fb 100644
--- a/config/initializers/vapid.rb
+++ b/config/initializers/vapid.rb
@@ -6,7 +6,7 @@ Rails.application.configure do
   # You should only generate this once per instance. If you later decide to change it, all push subscription will
   # be invalidated, requiring the users to access the website again to resubscribe.
   #
-  # ruby -e "require 'webpush'; vapid_key = Webpush.generate_key; puts vapid_key.private_key; puts vapid_key.public_key;"
+  # Generate with `rake mastodon:webpush:generate_vapid_key` task (`docker-compose run --rm web rake mastodon:webpush:generate_vapid_key` if you use docker compose)
   #
   # For more information visit https://rossta.net/blog/using-the-web-push-api-with-vapid.html
 
diff --git a/lib/tasks/mastodon.rake b/lib/tasks/mastodon.rake
index 1b05ece33..010139e91 100644
--- a/lib/tasks/mastodon.rake
+++ b/lib/tasks/mastodon.rake
@@ -184,6 +184,15 @@ namespace :mastodon do
     end
   end
 
+  namespace :webpush do
+    desc 'Generate VAPID key'
+    task generate_vapid_key: :environment do
+      vapid_key = Webpush.generate_key
+      puts "VAPID_PRIVATE_KEY=#{vapid_key.private_key}"
+      puts "VAPID_PUBLIC_KEY=#{vapid_key.public_key}"
+    end
+  end
+
   namespace :maintenance do
     desc 'Update counter caches'
     task update_counter_caches: :environment do