/polis

:milky_way: Open Source AI for large scale open ended feedback

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

Docker

tiene que haber un .env mirar .env.example

Polis

Polis is an AI powered sentiment gathering platform. More organic than surveys and less effort than focus groups, Polis meets a basic human need to be understood, at scale.

Docker Image Builds E2E Tests

🚧 Disclaimer

The installation instructions below are currently focused on setting up a development environment. These instructions should NOT be considered sufficient for production deployment without additional setup. We do NOT make guarantees of easy setup or management, push-button deployment, security, technical support, future migration paths, data integrity, etc.

Having said this, some of the core pieces of infrastructure described below are potentially useful in a production context, if used correctly. In particular, each subdirectory of the project has its own Dockerfile which could potentially be used as part of a deploy strategy. The docker-compose.yml is currently focused on development environment, but will soon transition to being production focused, with development conveniences extracted as a separate compose file.

If you'd like to set up your own deployment of Polis, we encourage your to reach out to us for support. We look forward to working together 🎉

🙋🏾‍♀️ Get Involved

If you're interested in contributing to the codebase, please see the following:

  • issues: for well-defined technical issues
  • 💬 discussions: for questions about the software, or more open ended ideas and conversation which don't properly fit in issues (to be clear, not technical support)
  • 💬 chat: if you're interested in connecting with other developers to get orientation around the project
  • more to come soon, hopefully (including kanban board and orientation documentation)!

💻 Development

If you have a small machine or little hard drive space, you may want to consider running the below with Docker-Machine (DigitalOcean with 2GB memory should be sufficient)

Running with docker-compose:

Before running docker-compose up for the first time:

After cloning, navigate via command line to the root of this repository.

Next, either do a pull (faster):

docker-compose pull

If you get a permission error, try running sudo docker-compose pull, and sudo will be necessary for all other commands as well. To avoid having to run sudo in the future, you can follow setup instruction here: https://docs.docker.com/engine/install/linux-postinstall/

or do a build (to utilize recent or local changes):

docker-compose up --build

once you've either pulled or built, you can run the following when you want to run the project:

docker-compose up

To force a full re-build with no cache from previous builds: docker-compose build --parallel --no-cache

You can end the process using Ctrl+C

Running as a background process

If you would like to run docker compose as a background process, run the up commands with the --detach flag, e.g.,:

docker-compose up --detach

And to stop: docker-compose down

check your ip (only necessary on docker-machine):

docker-machine ip
>>> 123.45.67.89

Visit your instance at: http://123.45.67.89.sslip.io/

Or visit a native docker instance at http://localhost:80/

Sign up at /createuser path. You'll be logged in right away; no email validation required!

What features still need work?

Note: Due to past file re-organizations, you may find the following git configuration helpful for looking at history:

git config --local include.path ../.gitconfig

🔍 Testing

We use Cypress for automated, end-to-end browser testing! (See badge above.)

Please see e2e/README.md and CONTRIBUTING.md.

🚀 Deployment

Please see docs/deployment.md

©️ License

AGPLv3 with additional permission under section 7