You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Brian Hatchet 0d8c757b05 Merge branch 'chore/local-infra-tweaks' into 'master' 5 days ago
.gitlab/issue_templates (chore): add superhero template 3 months ago
bin (feat): report & appeals 2 years ago
containers Local stack tweaks 5 days ago
engine @ 1674767bf7 (update): submodules 7 months ago
errors cleansup error pages 4 years ago
front @ 286dde9304 (update): submodules 7 months ago
languages syncs with upstream 4 years ago
local Local stack tweaks 5 days ago
plugins/_template (chore): remove old dev files 1 year ago
sockets @ 0990ef547a (update): submodules 7 months ago
.editorconfig [Sprint/Viper] (chore): Tweak Vagrant provisioning (#310) 3 years ago
.gitattributes Local stack tweaks 5 days ago
.gitignore (feat): bug template 1 year ago
.gitmodules (update): submodules 7 months ago
.travis.yml containers suck.. 4 years ago
LICENSE (docs): credits elgg 3 years ago
README.md Added docs site into README.md 2 months ago
docker-compose.with-phpspec.yml Local infrastructure provisioner 1 week ago
docker-compose.yml Local stack tweaks 5 days ago
index.php brings back router and makes uppercase 4 years ago
init.ps1 Local stack tweaks 5 days ago
init.sh Local stack tweaks 5 days ago

README.md

Minds

Minds is an open-source, encrypted and reward-based social networking platform. https://minds.com

Docs

Full documentation can be found at https://developers.minds.com/

Repositories

Minds is split into multiple repositories:

  • Engine - Backend code & APIs
  • Front - Client side Angular2 web app
  • Sockets - WebSocket server for real-time communication
  • Mobile - React Native mobile apps

Development System Requirements

  • > 10GB RAM (be sure to set it in your docker settings)
  • > 100GB Disk space
  • Docker Compose

Development Installation

Enabling full installation

Setting up elasticsearch

** Linux users ** To get elasticsearch 6 to run, you must make a settings change on the host machine.

Run sudo sysctl -w vm.max_map_count=262144

To make it permanent, modify the variable in /etc/sysctl.conf

Build the elasticsearch indexes

  1. Make sure nothing is running: docker-compose down
  2. Run the legacy provisioner: docker-compose up elasticsearch-legacy-provisioner
  3. Run the legacy provisioner: docker-compose up elasticsearch-provisioner

Running the stack the first time

  1. Run sh init.sh in order to install the front and engine repositories
  2. Run docker-compose up -d nginx
  3. Run docker-compose up installer (one time only.. initial username: minds / password: Pa$$w0rd)
  4. Run docker-compose up front-build
  5. Navigate to http://localhost:8080
  6. Run docker-compose up sync-engineto sync engine
  7. Run docker-compose up sync-front

Troubleshooting

  • Minds is already installed

    • Ensure engine/settings.php does not exist and re-run docker-compose up installer
  • Cassandra will not boot

    • Ensure thrift is enabled
    • Cassandra requires at least 4GB of memory to operate. You can start Cassandra manually by running docker-compose up cassandra

Nuclear Option

With dockerized enviroments, it’s sometimes best to start from scratch. If you want to delete your data, these steps will completely delete your data. You will be starting fresh.

  #Remove your settings file
  rm engine/settings.php 
  
  #Stop your stack
  docker-compose down

  #Delete your data cache
  rm -rf .data

  #Purge all volumes
  docker volume prune

That will remove all of your locally cached data. You can either rebuild the containers manually by using docker-compose up --build or delete everything to start fresh.

  # Delete all containers
  docker rm $(docker ps -a -q)

Production System Requirements

At this time it is not advisable to run Minds in production, however it is possible so long as you are aware of the risks.

  • 3 Cassandra Nodes (Min 30gb RAM, 1TB SSD, 8 CPU)
  • 1 ElasticSearch Node (Min 16GB RAM, 250GB SSD, 8 CPU) #2 nodes are recommended for failover
  • 1 Docker Machine (Min 60gb RAM, 50GB SSD, 32 CPU)

Contributing

If you’d like to contribute to the Minds project, check out the Contribution section of Minds.org or head right over to the Minds Open Source Community. If you’ve found or fixed a bug, let us know in the Minds Help and Support Group!

Security reports

Please report all security issues to security@minds.com.

License

AGPLv3. Please see the license file of each repository.

Credits

PHP, Cassandra, Angular2, Nginx, Ubuntu, OpenSSL, RabbitMQ, Elasticsearch, Cordova, Neo4j, Elgg, Node.js, MongoDB, Redis, WebRTC, Socket.io, TinyMCE, Ionic, Requirejs, OAuth, Apigen, Braintree. If any are missing please feel free to add.

Copyright Minds 2012 - 2018

Copyright for portions of Minds are held by Elgg, 2013 as part of the Elgg project. All other copyright for Minds is held by Minds, Inc.