Browse Source

Add sync command for neo4j, fix configuration, add neo4j to docker-compose, fix seed

pull/4/head
Eugen Rochko 5 years ago
parent
commit
4d336cefac
6 changed files with 21 additions and 1 deletions
  1. +1
    -0
      .dockerignore
  2. +2
    -0
      .env.production.sample
  3. +4
    -0
      app/models/follow.rb
  4. +1
    -1
      db/seeds.rb
  5. +6
    -0
      docker-compose.yml
  6. +7
    -0
      lib/tasks/mastodon.rake

+ 1
- 0
.dockerignore View File

@ -4,3 +4,4 @@ public/system
public/assets
node_modules
storybook
neo4j

+ 2
- 0
.env.production.sample View File

@ -6,6 +6,8 @@ DB_USER=postgres
DB_NAME=postgres
DB_PASS=
DB_PORT=5432
NEO4J_HOST=neo4j
NEO4J_PORT=7474
# Federation
LOCAL_DOMAIN=example.com

+ 4
- 0
app/models/follow.rb View File

@ -26,6 +26,10 @@ class Follow < ApplicationRecord
after_create :add_to_graph
after_destroy :remove_from_graph
def sync!
add_to_graph
end
private
def add_to_graph

+ 1
- 1
db/seeds.rb View File

@ -1,2 +1,2 @@
web_app = Doorkeeper::Application.new(name: 'Web', superapp: true, redirect_uri: Doorkeeper.configuration.native_redirect_uri)
web_app.save(validate: false)
web_app.save!

+ 6
- 0
docker-compose.yml View File

@ -4,6 +4,10 @@ services:
image: postgres
redis:
image: redis
neo4j:
image: neo4j
environment:
- NEO4J_AUTH=none
app:
build: .
env_file: .env.production
@ -15,6 +19,7 @@ services:
depends_on:
- db
- redis
- neo4j
volumes:
- ./public/assets:/mastodon/public/assets
- ./public/system:/mastodon/public/system
@ -24,5 +29,6 @@ services:
depends_on:
- db
- redis
- neo4j
volumes:
- ./public/system:/mastodon/public/system

+ 7
- 0
lib/tasks/mastodon.rake View File

@ -41,4 +41,11 @@ namespace :mastodon do
$redis.keys('feed:*').each { |key| $redis.del(key) }
end
end
namespace :graphs do
desc 'Syncs all follow relationships to Neo4J'
task sync: :environment do
Follow.find_each(&:sync!)
end
end
end

Loading…
Cancel
Save