Favicon of Loomio

Loomio

Facilitate asynchronous discussions and reach consensus faster. Use expressive voting systems and time polls to make collaborative decisions without meetings.

Improve how your board, community, or company collaborates by moving discussions out of the boardroom and into a focused, asynchronous environment. This platform helps you align your team and take decisive action while saving precious meeting time. By providing a clear, annotated timeline of discussions, you maintain a permanent record of how and why choices were made.

Key features and benefits:

  • Expressive voting systems: Support your group's unique processes with multiple choice, ranked choice, dot voting, and show of thumbs.
  • Asynchronous discussions: Allow conversations to scale naturally with rich text, attachments, and category tags.
  • Seamless integrations: Connect directly to chat apps like Slack and Mattermost to keep everyone updated automatically.
  • Time polling: Easily find the best meeting times for your group and send calendar invites to the winners.
  • Open source and secure: Export your data anytime and enjoy an ad-free experience.

Directory Structure

loomio
data
db
redis
storage
.env
docker-compose.yml

docker-compose.yml

services:
  db:
    image: postgres:13-alpine
    container_name: loomio_db
    restart: always
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: loomio
      POSTGRES_DB: loomio_production
    volumes:
      - ./data/db:/var/lib/postgresql/data

  redis:
    image: redis:6-alpine
    container_name: loomio_redis
    restart: always
    volumes:
      - ./data/redis:/data

  app:
    image: loomio/loomio:stable
    container_name: loomio_app
    restart: always
    command: rails server -b 0.0.0.0
    environment:
      DATABASE_URL: postgres://loomio:${DB_PASSWORD}@db/loomio_production
      REDIS_URL: redis://redis:6379
      SECRET_COOKIE_TOKEN: ${SECRET_COOKIE_TOKEN}
      DEVISE_SECRET: ${DEVISE_SECRET}
      CANONICAL_HOST: ${CANONICAL_HOST}
      REPLY_HOSTNAME: ${REPLY_HOSTNAME}
      SMTP_DOMAIN: ${SMTP_DOMAIN}
      SMTP_SERVER: ${SMTP_SERVER}
      SMTP_PORT: ${SMTP_PORT}
      SMTP_USERNAME: ${SMTP_USERNAME}
      SMTP_PASSWORD: ${SMTP_PASSWORD}
      FORCE_SSL: ${FORCE_SSL}
      USE_SSL: ${USE_SSL}
      RAILS_SERVE_STATIC_FILES: "true"
    volumes:
      - ./data/storage:/loomio/storage
    ports:
      - "3000:3000"
    depends_on:
      - db
      - redis

  worker:
    image: loomio/loomio:stable
    container_name: loomio_worker
    restart: always
    command: bundle exec sidekiq
    environment:
      DATABASE_URL: postgres://loomio:${DB_PASSWORD}@db/loomio_production
      REDIS_URL: redis://redis:6379
      SECRET_COOKIE_TOKEN: ${SECRET_COOKIE_TOKEN}
      DEVISE_SECRET: ${DEVISE_SECRET}
      CANONICAL_HOST: ${CANONICAL_HOST}
      REPLY_HOSTNAME: ${REPLY_HOSTNAME}
      SMTP_DOMAIN: ${SMTP_DOMAIN}
      SMTP_SERVER: ${SMTP_SERVER}
      SMTP_PORT: ${SMTP_PORT}
      SMTP_USERNAME: ${SMTP_USERNAME}
      SMTP_PASSWORD: ${SMTP_PASSWORD}
    volumes:
      - ./data/storage:/loomio/storage
    depends_on:
      - db
      - redis

  channels:
    image: loomio/loomio:stable
    container_name: loomio_channels
    restart: always
    command: puma -p 28080 cable/config.ru
    environment:
      DATABASE_URL: postgres://loomio:${DB_PASSWORD}@db/loomio_production
      REDIS_URL: redis://redis:6379
      SECRET_COOKIE_TOKEN: ${SECRET_COOKIE_TOKEN}
      DEVISE_SECRET: ${DEVISE_SECRET}
      CANONICAL_HOST: ${CANONICAL_HOST}
    volumes:
      - ./data/storage:/loomio/storage
    ports:
      - "28080:28080"
    depends_on:
      - db
      - redis

.env

CANONICAL_HOST=loomio.example.com
REPLY_HOSTNAME=reply.loomio.example.com
FORCE_SSL=true
USE_SSL=true

# Security Secrets (Must be changed)
DB_PASSWORD=replace_with_secure_password
SECRET_COOKIE_TOKEN=replace_with_generated_secret_token
DEVISE_SECRET=replace_with_generated_devise_secret

# SMTP Configuration
SMTP_DOMAIN=example.com
SMTP_SERVER=smtp.example.com
SMTP_PORT=587
SMTP_USERNAME=your_smtp_username
SMTP_PASSWORD=your_smtp_password

Share:

Ad
Favicon

 

  
 

Similar to Loomio

Favicon

 

  
  
Favicon

 

  
  
Favicon