Skip to content

biswa-m/minds

 
 

Repository files navigation

Fansonly

Repositories

Minds is split into multiple repositories:

  • [Engine]- Backend code & APIs
  • [Front] - Client side Angular2 web app
  • [Sockets] - WebSocket server for real-time communication

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

aws s3 bucket name is hard-coded, find and replace aws s3 bucket name if needed.

  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. Check engine/settings.php if somekeys are missing update manually from engine/settings.example.php. (search for TODO at settings.example.php)
  5. if settings.php is changed manually repeat step 2 and 3.
  6. Run docker-compose up sockets
  7. Run docker-compose up runners
  8. Run docker-compose exec php-fpm php /var/www/Minds/engine/cli.php QueueRunner run --runner=Transcode Transcode queue runner manually.
  9. cd front and Run docker-compose up front-build

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.

About

mirror of https://gitlab.com/minds/minds

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • PHP 77.5%
  • Shell 12.2%
  • Go 5.1%
  • HTML 3.2%
  • Dockerfile 1.2%
  • CSS 0.4%
  • Other 0.4%