4.1 KiB
Changemaker Lite
Changemaker Lite is a streamlined documentation and development platform featuring essential self-hosted services for creating, managing, and automating political campaign workflows.
Features
- Homepage: Modern dashboard for accessing all services
- Code Server: VS Code in your browser for remote development
- MkDocs Material: Beautiful documentation with live preview
- Static Site Server: High-performance hosting for built sites
- Listmonk: Self-hosted newsletter and email campaign management
- PostgreSQL: Reliable database backend
- n8n: Workflow automation and service integration
- NocoDB: No-code database platform and smart spreadsheet interface
- Map: Interactive map visualization for geographic data with real-time geolocation, walk sheet generation, and QR code integration
- Influence: Campaign tool for connecting Alberta residents with elected representatives at all government levels
Quick Start
The whole system can be set up in minutes using Docker Compose. It is recommended to run this on a server with at least 8GB of RAM and 4 CPU cores for optimal performance. Instructions to build to production are available in the mkdocs/docs/build directory, at cmlite.org, or in the site preview.
# Clone the repository
git clone https://gitea.bnkops.com/admin/changemaker.lite
cd changemaker.lite
# Configure environment (creates .env file)
./config.sh
# Start all services
docker compose up -d
Map
Instructions on how to build the map are available in the map directory.
Instructions on how to build for production are available in the mkdocs/docs/build directory or in the site preview.
Quick Start for Map
Update the .env file in the map directory with your NocoDB URLs, and then run:
cd map
docker compose up -d
Influence
The Influence Campaign Tool helps Alberta residents connect with elected representatives at federal, provincial, and municipal levels. Users can look up representatives by postal code and send advocacy emails through customizable campaigns.
Detailed setup and configuration instructions are available in the influence/README.MD file.
Quick Start for Influence
Configure your environment and start the service:
cd influence
cp example.env .env
# Edit .env with your NocoDB and SMTP settings
./scripts/build-nocodb.sh # Set up database tables
docker compose up -d
Service Access
After starting, access services at:
- Homepage Dashboard: http://localhost:3010
- Documentation (Dev): http://localhost:4000
- Documentation (Built): http://localhost:4001
- Code Server: http://localhost:8888
- Listmonk: http://localhost:9000
- n8n: http://localhost:5678
- NocoDB: http://localhost:8090
- Map Viewer: http://localhost:3000
- Influence Campaign Tool: http://localhost:3333
Production Deployment
If you are deploying to production, using Cloudflare, you can use the included 'start-production.sh' script to set up a secure deployment with HTTPS. Ensure your domain and cloudflare settings are correctly configured in the root .env before running. More information on the required API tokens and settings can be found in the mkdocs/docs/build directory or at cmlite.org.
./start-production.sh
Documentation
Complete documentation is available in the MkDocs site, including:
- Service configuration guides
- Integration examples
- Workflow automation tutorials
- Map application setup and usage
- Troubleshooting guides
Visit http://localhost:4000 after starting services to access the full documentation.
Licensing
This project is licensed under the Apache License 2.0 - https://opensource.org/license/apache-2-0
AI Disclaimer
This project used AI tools to assist in its creation and large amounts of the boilerplate code was reviewed using AI. AI tools (although not activated or connected) are pre-installed in the Coder docker image. See docker.code-server for more details.
While these tools can help generate code and documentation, they may also introduce errors or inaccuracies. Users should review and test all content to ensure it meets their requirements and standards.