{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"apps/","title":"Changemaker V5 - Apps & Services Documentation","text":"
This document provides an overview of all the applications and services included in the Changemaker V5 productivity suite, along with links to their documentation.
"},{"location":"apps/#dashboard","title":"Dashboard","text":""},{"location":"apps/#homepage","title":"Homepage","text":"When configured with Cloudflare Tunnels, you can access these services remotely at:
Info on ollama
docker exec -it ollama-changemaker ollama pull gemma3\n
"},{"location":"readme/","title":"Changemaker V5","text":"Changemaker V5 is a battle-tested, lightweight, self-hosted productivity suite which empowers you to deploy secure, locally-built websites, blogs, newsletters, & forms \u2013 from personal projects to full-fledged campaigns \u2013 granting you complete control, inherent security, and true freedom of speech.
It is a project undertaken by The Bunker Operations, headquarted in Edmonton, Alberta, Canada, as to provide our community a digital campaign alternative to mainstream American systems.
"},{"location":"readme/#currated-suite-of-applications","title":"Currated Suite of Applications","text":""},{"location":"readme/#_1","title":"About Changemaker","text":""},{"location":"readme/#contents","title":"Contents","text":"Changemaker's identified wants for development: - Internal integrations for assset management i.e. shared plain file locations - Database connections for automation systems i.e. manauls for Nocodb & n8n on connecting services - Manual & landing site for the whole system i.e. upgrading bnkops.com - Trainings and manuals across the board
Idenitfied Feature Requests: - Event Management: Looking at hi.ewvents - Scheduling: Looking at rally - Support and user chat: looking at chatwoot - Mass community chat: looking at thelounge - Team chat and project management: looking at rocket chat \u2714\ufe0f
Bugs: - Readme needs a full flow redo - \u2705 next up - Config script needs to be updated for nocodb for a simpler string / set the string - - Gitea DNS application access bypass not properly setting - \u2705 bypass needing manual setup / need to explore api more - Portainer not serving to http - \ud83d\udfe1 still not sure how to fix config - nocodb setup upping odd - \u2705 password needs no special characters - ferdium port mismatch - \u2705 was a cloudflare port setting missmatch
"},{"location":"readme/#prerequisites","title":"Prerequisites","text":"Review all off the applications here
If you're familiar with Docker and want to get started quickly:
# Clone the repository\ngit clone https://gitea.bnkhome.org/bnkops/Changemaker.git\ncd changemaker\n
# Use default configuration for development or run the config script for configuration\n# To optionally configure, first make the script executable:\nchmod +x config.sh\n\n# Then run the configuration script:\n./config.sh\n
# Start all services\ndocker compose up -d\n
[!Warning] Configure Portainer & Install Gitea
Portainer has a timed build process. Make sure to immediatly configure the service by visiting https://localhost:9444
Gitea has a install process that you should complete on first build.
First time installation can take several miniutes
On a 1GB internet connection, instal time is approximately 3 minutes.
"},{"location":"readme/#local-service-ports","title":"Local Service Ports","text":"When running Changemaker locally, you can access the services at the following ports on your server:
Service Local Port Local URL Homepage 3010 http://localhost:3010 Excalidraw 3333 http://localhost:3333 Listmonk 9000 http://localhost:9000 Monica CRM 8085 http://localhost:8085 MkDocs 4000 http://localhost:4000 Flatnotes 8089 http://localhost:8089 Code Server 8888 http://localhost:8888 Ollama 11435 http://localhost:11435 OpenWebUI 3005 http://localhost:3005 Gitea 3030 http://localhost:3030 Portainer 8005 http://localhost:8005 Mini QR 8081 http://localhost:8081 Ferdium 3006 http://localhost:3006 Answer 9080 http://localhost:9080 NocoDB 8090 http://localhost:8090 n8n 5678 https://localhost:5678 ConvertX 3100 http://localhost:3100 Rocket.Chat 3004 http://localhost:3004"},{"location":"readme/#detailed-installation","title":"Detailed Installation","text":""},{"location":"readme/#ubuntu-os-build-outs","title":"Ubuntu OS & Build Outs","text":"You can deploy Changemaker on any OS using Docker however we also provide several full Ubuntu build-outs. These scripts can speed up your deployment immensely and Changemaker is developed on a like system:
Configuration and services scripts for futher developing the system can be found at the scripts repo.
"},{"location":"readme/#1-install-docker-and-docker-compose","title":"1. Install Docker and Docker Compose","text":"Install Docker and Docker Compose on your system if they're not already installed:
Install Docker & Docker Compose
Verify that Docker and Docker Compose are installed correctly:
docker --version\ndocker compose version\n
"},{"location":"readme/#2-clone-the-repository","title":"2. Clone the Repository","text":"git clone https://github.com/your-org/changemaker-v5.git\ncd changemaker-v5\n
"},{"location":"readme/#2-configure-your-environment","title":"2. Configure Your Environment","text":""},{"location":"readme/#setting-up-cloudflare-credentials","title":"Setting Up Cloudflare Credentials","text":"To use the script, you'll need to collect several Cloudflare variables:
Generate and copy the token
Get your Zone ID:
It looks like: 023e105f4ecef8ad9ca31a8372d0c353
Get your Tunnel ID:
https://dash.teams.cloudflare.com/xxx/network/tunnels/xxxx
6ff42ae2-765d-4adf-8112-31c55c1551ef
You have two options:
Option A: Use the configuration wizard (recommended)
# Make the script executable\nchmod +x config.sh\n\n# Run the configuration wizard\n./config.sh\n
Option B: Configure manually
# Edit the .env file with your settings\nnano .env\n
"},{"location":"readme/#4-start-the-services","title":"4. Start the Services","text":"# Pull and start all containers in detached mode\ndocker compose up -d\n
[!Warning] Configure Portainer
Portainer has a timed build process. Make sure to immediatly configure the service at https://localhost:9444 following successful build.
All services can now be accessed through on local machine. If deploying to public, it is recommended to configure portainer and then continue configuration for all other services once tunnel is established. Then use the public links for configuration of services. For online deployment with Cloudflare, continue to next steps.
"},{"location":"readme/#4-cloudflare-tunnel-setup","title":"4. Cloudflare Tunnel Setup","text":"For secure remote access to your services, you can set up a Cloudflare Tunnel.
"},{"location":"readme/#install-cloudflared-on-ubuntu-2404","title":"Install Cloudflared on Ubuntu 24.04","text":"Cloudflared Installation Guide
"},{"location":"readme/#configure-your-cloudflare-tunnel","title":"Configure Your Cloudflare Tunnel","text":"You can use our Cloudflare Configuration Guide however remember to copy the values of the example config for this deployment.
"},{"location":"readme/#create-a-cloudflare-system-service","title":"Create a Cloudflare System Service","text":"Cloudflare Service Setup Guide
"},{"location":"readme/#add-cname-records","title":"Add CNAME Records","text":"After setting up your Cloudflare Tunnel, you need to add CNAME records for your services. You can do this manually in the Cloudflare DNS panel or with using the following script: add-cname-records.sh
# Make the script executable\nchmod +x add-cname-records.sh\n\n# Run the script to add CNAME records\n./add-cname-records.sh\n
This script will add CNAME records for all Changemaker services to your Cloudflare DNS.
It will also set up a Cloudflare Access Application for all services execpt for your website and gitea. This is a extra layer of security that we do recommend for your deployment. It will automatically allow any emails with from the root domain that you set in the config.sh
process. For example, if you set your root domain to example.com
your access rule will allow emails ending with @example.com thorugh. You can update your access settings in the Cloudflare Zero Trust dashboard.
[!warning] Cloudflare Zero Trust To ensure that system is secure, we highly recommend setting up some level of access control using Cloudflare Zero Trust. The add-cname-records.sh
will do this automatically however the user is encouraged to familiarize themselves with Cloudflares Zero Trust access system.
The Homepage acts as a central dashboard for all your Changemaker services. You can access it at:
The Homepage will display links to all your deployed services, making it easy to navigate your Changemaker ecosystem.
After installation and cloudflare deployment you can also access individual services at the following URLs:
If you encounter issues:
Check the Docker logs:
docker compose logs\n
Verify service status:
docker compose ps\n
Ensure your Cloudflare Tunnel is running:
sudo systemctl status cloudflared\n
Check CNAME records in your Cloudflare dashboard.
For additional help, please file an issue on our GitHub repository.
"},{"location":"testing/","title":"Test","text":""},{"location":"testing/#hello-world","title":"Hello World!","text":"Compatible with any markdown editor!
Write websites quickly and with ease!
"},{"location":"apps/answer/","title":"Answer: Q&A Knowledge Base Platform","text":"Answer is a self-hosted, open-source Q&A platform designed to help teams and communities build a shared knowledge base. Users can ask questions, provide answers, and vote on the best solutions, creating an organized and searchable repository of information.
"},{"location":"apps/answer/#key-features","title":"Key Features","text":"For more detailed information about Answer, visit the official documentation.
"},{"location":"apps/answer/#getting-started-with-answer","title":"Getting Started with Answer","text":""},{"location":"apps/answer/#accessing-answer","title":"Accessing Answer","text":"http://localhost:9080/
(or your configured external URL).Asking a Question:
Answering a Question:
Voting and Commenting:
Searching for Information: Use the search bar to find if your question has already been asked and answered.
Managing Content (Admins/Moderators):
Answer is a platform for building a Q&A knowledge base. It is not used for editing this main documentation site (the one you are reading). Site editing is done via Code Server.
"},{"location":"apps/answer/#further-information","title":"Further Information","text":"Code Server brings the powerful and familiar Visual Studio Code experience directly to your web browser. This allows you to develop, edit code, and manage your projects from any device with internet access, without needing to install VS Code locally.
It's an essential tool within Changemaker for making quick edits to your website content, managing configuration files, or even full-fledged development tasks on the go.
"},{"location":"apps/code-server/#key-features","title":"Key Features","text":"For more detailed information about Code Server, visit the official repository.
"},{"location":"apps/code-server/#getting-started-with-code-server","title":"Getting Started with Code Server","text":""},{"location":"apps/code-server/#accessing-code-server","title":"Accessing Code Server","text":"http://localhost:8888/
(or your configured external URL if set up).configs/code-server/.config/code-server/config.yaml
within your main Changemaker project directory (e.g., /home/bunker-admin/Changemaker/configs/code-server/.config/code-server/config.yaml
). You might need to access this file directly on your server or through another method for the initial password retrieval.A common use case within Changemaker is editing your MkDocs documentation site.
Open Your Workspace:
/home/bunker-admin/Changemaker/
or the path where your Changemaker files are located if different, typically where the docker-compose.yml
for Changemaker is).Navigate to Documentation Files:
mkdocs
folder, then the docs
folder..md
) files (like index.md
, readme.md
, files within apps/
, etc.), your site configuration (mkdocs.yml
), and custom assets (like stylesheets/extra.css
or files in overrides/
).Edit a File:
index.md
or any page you want to change like apps/code-server.md
itself!).Save Changes:
Ctrl+S
(or Cmd+S
on Mac) to save your changes.mkdocs serve
executed in a terminal, perhaps within Code Server itself or on your host machine), your documentation site should update automatically in your browser. Otherwise, you may need to rebuild/redeploy your MkDocs site.The integrated terminal is extremely useful for various tasks without leaving Code Server: * Running Git commands (git pull
, git add .
, git commit -m \"docs: update content\"
, git push
). * Managing your MkDocs site (mkdocs serve
to start a live-preview server, mkdocs build
to generate static files). * Any other shell commands needed for your project.
To open the terminal: Go to \"Terminal\" > \"New Terminal\" in the Code Server menu, or use the shortcut (often Ctrl+\\
or Ctrl+~
).
For more detailed information on Code Server's features, advanced configurations, and troubleshooting, please refer to the official Code Server Documentation.
"},{"location":"apps/excalidraw/","title":"Excalidraw: Collaborative Virtual Whiteboard","text":"Excalidraw is a virtual collaborative whiteboard tool that lets you easily sketch diagrams with a hand-drawn feel. It's excellent for brainstorming, creating flowcharts, planning project workflows, or mapping out campaign strategies.
"},{"location":"apps/excalidraw/#key-features","title":"Key Features","text":".excalidraw
files (for later editing).For more detailed information about Excalidraw, visit the official repository.
"},{"location":"apps/excalidraw/#getting-started-with-excalidraw","title":"Getting Started with Excalidraw","text":""},{"location":"apps/excalidraw/#accessing-excalidraw","title":"Accessing Excalidraw","text":"http://localhost:3333/
(or your configured external URL).Start Drawing:
Styling Elements:
Connecting Shapes: Use arrows or lines to connect shapes to create flowcharts or diagrams.
Collaboration (If needed):
Saving Your Work:
.excalidraw
JSON file.Loading a Drawing:
.excalidraw
file.Editing of the main Changemaker documentation site (the one you are reading now) is done via Code Server, not Excalidraw. Excalidraw is a tool for creating visual content that you might then include in your documentation (e.g., by exporting an image and adding it to a Markdown file).
"},{"location":"apps/excalidraw/#further-information","title":"Further Information","text":"Ferdium is a desktop application that allows you to combine all your messaging services into one place. It's a fork of Franz and Ferdi, designed to help you manage multiple chat and communication platforms without needing to switch between numerous browser tabs or apps.
Note: Ferdium is typically a desktop application you install on your computer, not a web service you access via a browser within the Changemaker suite in the same way as other listed web apps. However, if it's been containerized and made accessible via a web interface in your specific Changemaker setup (e.g., via Kasm or a similar VNC/RDP in Docker setup), the access method would be specific to that.
Assuming it's accessible via a web URL in your Changemaker instance:
"},{"location":"apps/ferdium/#key-features-general-ferdium-features","title":"Key Features (General Ferdium Features)","text":"For more detailed information about Ferdium, visit the official repository.
"},{"location":"apps/ferdium/#getting-started-with-ferdium-web-access-within-changemaker","title":"Getting Started with Ferdium (Web Access within Changemaker)","text":""},{"location":"apps/ferdium/#accessing-ferdium-if-web-accessible","title":"Accessing Ferdium (If Web-Accessible)","text":"http://localhost:3002/
(or your configured external URL). This URL implies it's running as a web-accessible service in your Docker setup.Add Services:
Organize Services:
Using Services:
Manage Notifications: Configure how you want to receive notifications for each service to avoid being overwhelmed.
Ferdium is a messaging application. It is not used for editing this documentation site. Site editing is done via Code Server.
"},{"location":"apps/ferdium/#further-information","title":"Further Information","text":"Important Consideration for Changemaker: If Ferdium is indeed running as a web-accessible service at http://localhost:3002/
, its setup and usage might be slightly different from the standard desktop application. The documentation specific to the Docker image or method used to deploy it within Changemaker would be most relevant.
Flatnotes is a straightforward, self-hosted, markdown-based note-taking application. It's designed for simplicity and efficiency, allowing you to quickly capture ideas, draft content, and organize your notes. A key feature in the Changemaker context is its potential to directly feed into your blog or documentation.
"},{"location":"apps/flatnotes/#key-features","title":"Key Features","text":"For more detailed information about Flatnotes, visit the official repository.
"},{"location":"apps/flatnotes/#getting-started-with-flatnotes","title":"Getting Started with Flatnotes","text":""},{"location":"apps/flatnotes/#accessing-flatnotes","title":"Accessing Flatnotes","text":"http://localhost:8089/
(or your configured external URL).Creating a New Note:
Writing in Markdown:
# My Awesome Idea\n\nThis is a *brilliant* idea that I need to remember.\n\n## Steps\n1. Draft initial thoughts.\n2. Research more.\n3. Write a blog post.\n\n[Link to relevant site](https://example.com)\n
Saving Notes:
Organizing Notes:
Searching Notes:
Flatnotes is excellent for drafting content that will eventually become part of your MkDocs site:
mkdocs/docs/
directory (or a subdirectory like blog/posts/
)..md
file or open an existing one.mkdocs serve
is running, your site will update, and you can preview the new content.For more specific details on Flatnotes features, customization, or troubleshooting, refer to the official Flatnotes Documentation (as it's a GitHub-hosted project, the README and repository wiki are the primary sources of documentation).
"},{"location":"apps/gitea/","title":"Gitea: Self-Hosted Git Service","text":"Gitea is a lightweight, self-hosted Git service. It provides a web interface for managing your Git repositories, similar to GitHub or GitLab, but running on your own server. This gives you full control over your code, documents, and version history.
"},{"location":"apps/gitea/#key-features","title":"Key Features","text":"For more detailed information about Gitea, visit the official documentation.
"},{"location":"apps/gitea/#getting-started-with-gitea","title":"Getting Started with Gitea","text":""},{"location":"apps/gitea/#accessing-gitea","title":"Accessing Gitea","text":"http://localhost:3030/
(or your configured external URL).Create a Repository:
Cloning a Repository:
git clone
command in your local terminal or within Code Server's terminal: git clone http://localhost:3030/YourUsername/YourRepository.git\n
Making Changes and Pushing:
git add .\ngit commit -m \"Your commit message\"\ngit push origin main # Or your default branch name\n
Using the Web Interface:
While Gitea hosts the source files (e.g., Markdown files for this documentation), the actual editing process for this MkDocs site is typically done using Code Server. You would: 1. Clone your documentation repository from Gitea to your local workspace (or open it directly if it's already part of your Changemaker file structure accessible by Code Server). 2. Edit the Markdown files using Code Server. 3. Commit and push your changes back to Gitea using Git commands in the Code Server terminal.
"},{"location":"apps/gitea/#further-information","title":"Further Information","text":"Homepage is your personal, customizable application dashboard. Within Changemaker V5, it acts as the central command center, providing a unified interface to access all integrated services, monitor their status, and keep bookmarks for frequently used internal and external pages.
"},{"location":"apps/homepage/#key-features","title":"Key Features","text":"http://localhost:3010/
(or your configured external URL if set up).Exploring the Dashboard:
Understanding the Default Configuration:
settings.yaml
, services.yaml
, and potentially bookmarks.yaml
for Homepage, located in the configs/homepage/
directory within your Changemaker project structure.Customizing Your Dashboard (Advanced):
configs/homepage/
.services.yaml
: To add, remove, or modify the services displayed. Example: Adding a new service # In services.yaml\n- My Services:\n - My New App:\n href: http://localhost:XXXX # URL of your new app\n description: Description of my new app\n icon: fas fa-rocket # Font Awesome icon\n
bookmarks.yaml
: To add your own bookmarks, organized into groups. Example: Adding a bookmark group # In bookmarks.yaml\n- Development:\n - GitHub:\n href: https://github.com/\n icon: fab fa-github\n
settings.yaml
: For general settings like page title, background, etc.widgets.yaml
: To add dynamic information like weather, search bars, etc.For more detailed information on configuring Homepage, available widgets, and advanced customization options, please refer to the official Homepage Documentation.
"},{"location":"apps/listmonk/","title":"Listmonk: Self-Hosted Newsletter & Mailing List Manager","text":"Listmonk is a powerful, self-hosted newsletter and mailing list manager. It gives you complete control over your email campaigns, subscriber data, and messaging without relying on third-party services that might have restrictive terms, high costs, or data privacy concerns. It's ideal for building and engaging with your community.
"},{"location":"apps/listmonk/#key-features","title":"Key Features","text":"For more detailed information about Listmonk, visit the official documentation.
"},{"location":"apps/listmonk/#getting-started-with-listmonk","title":"Getting Started with Listmonk","text":""},{"location":"apps/listmonk/#accessing-listmonk","title":"Accessing Listmonk","text":"http://localhost:9000/
(or your configured external URL).Configure Mail Settings (Important First Step):
Create a Mailing List:
Import Subscribers:
Create an Email Template (Optional but Recommended):
{{ .Subscriber.Email }}
, {{ .Subscriber.Name }}
) to personalize emails.Create and Send a Campaign:
Analyze Campaign Performance:
For comprehensive details on all Listmonk features, advanced configurations (like bounce handling, API usage), and troubleshooting, please consult the official Listmonk Documentation.
"},{"location":"apps/mkdocs-material/","title":"MkDocs with Material Theme: Your Documentation Powerhouse","text":"Changemaker V5 utilizes MkDocs with the Material theme to build this very documentation site. MkDocs is a fast, simple, and downright gorgeous static site generator that's geared towards building project documentation with Markdown.
"},{"location":"apps/mkdocs-material/#key-features-of-mkdocs-material-theme","title":"Key Features of MkDocs & Material Theme","text":"mkdocs serve
provides a development server that automatically reloads when you save changes.For more detailed information about MkDocs, visit the official documentation.
"},{"location":"apps/mkdocs-material/#editing-this-site-your-changemaker-documentation","title":"Editing This Site (Your Changemaker Documentation)","text":"All content for this documentation site is managed as Markdown files within the mkdocs/docs/
directory of your Changemaker project.
configs/code-server/.config/code-server/config.yaml
.docs
Directory:/home/bunker-admin/Changemaker/
).mkdocs/docs/
subdirectory..md
file (e.g., apps/code-server.md
to edit the Code Server page, or index.md
for the homepage content if not using home.html
override directly)..md
file in the appropriate location (e.g., apps/my-new-app.md
).guides/authoring-content.md
for tips on Markdown and MkDocs Material specific features.mkdocs/mkdocs.yml
.nav:
section to make it appear in the site navigation. For example: nav:\n - Home: index.md\n - ...\n - Applications:\n - ...\n - My New App: apps/my-new-app.md # Add your new page here\n - ...\n
Ctrl+S
(or Cmd+S
on Mac) in Code Server.mkdocs serve
in a terminal within your mkdocs
directory) will automatically rebuild the site and your browser should refresh to show the changes.http://localhost:8000
or http://127.0.0.1:8000
.The main configuration for the documentation site is in mkdocs/mkdocs.yml
. Here you can change: * site_name
, site_description
, site_author
* Theme features and palette * Markdown extensions * Navigation structure (nav
) * Plugins
guides/authoring-content.md
in your mkdocs/docs/
directory.Monica CRM is a self-hosted, open-source personal relationship management system. It helps you organize and record interactions with your friends, family, and professional contacts, focusing on the human aspects of your relationships rather than just sales metrics like traditional CRMs.
"},{"location":"apps/monica-crm/#key-features","title":"Key Features","text":"For more detailed information about Monica CRM, visit the official documentation.
"},{"location":"apps/monica-crm/#getting-started-with-monica-crm","title":"Getting Started with Monica CRM","text":""},{"location":"apps/monica-crm/#accessing-monica-crm","title":"Accessing Monica CRM","text":"http://localhost:8085/
(or your configured external URL).Adding Contacts:
Logging Activities/Interactions:
Using the Dashboard: The dashboard usually provides an overview of upcoming reminders, recent activities, and statistics about your relationships.
Journaling: Explore the journaling feature to write personal entries, which can sometimes be linked to specific contacts or events.
Managing Relationships: Regularly update contact information and log interactions to keep your relationship history current.
Monica CRM is a tool for managing personal relationships. It is not used for editing this documentation site. Site editing is done via Code Server.
"},{"location":"apps/monica-crm/#further-information","title":"Further Information","text":"n8n is a powerful workflow automation platform that allows you to connect different services and systems together without needing complex programming skills. Within Changemaker V5, it enables you to create automated processes that save time and ensure consistency across your operations.
"},{"location":"apps/n8n/#key-features","title":"Key Features","text":"For more detailed information about n8n, visit the official documentation.
"},{"location":"apps/n8n/#getting-started-with-n8n","title":"Getting Started with n8n","text":""},{"location":"apps/n8n/#accessing-n8n","title":"Accessing n8n","text":"http://localhost:5678/
(or your configured external URL if set up).Save your workflow and activate it using the toggle at the top of the editor.
Example Workflow: Automatic Welcome Emails
Optionally, add a \"Slack\" or \"Rocket.Chat\" node to notify your team about the new contact.
Common Use Cases:
n8n works particularly well with other services in your Changemaker environment:
For more detailed information on creating complex workflows, available integrations, and best practices, please refer to the official n8n Documentation.
"},{"location":"apps/nocodb/","title":"NocoDB: Open Source Airtable Alternative","text":"NocoDB is a powerful open-source alternative to services like Airtable. It allows you to turn various types of SQL databases (like MySQL, PostgreSQL, SQL Server, SQLite) into a smart spreadsheet interface. This makes data management, collaboration, and even building simple applications much more accessible without extensive coding.
"},{"location":"apps/nocodb/#key-features","title":"Key Features","text":"For more detailed information about NocoDB, visit the official documentation.
"},{"location":"apps/nocodb/#getting-started-with-nocodb","title":"Getting Started with NocoDB","text":""},{"location":"apps/nocodb/#accessing-nocodb","title":"Accessing NocoDB","text":"http://localhost:8090/
(or your configured external URL).Understanding the Interface:
Creating a New Project/Base:
Creating a Table:
Adding and Editing Data:
Creating Different Views:
Linking Tables (Relational Data):
Tasks
table to a Projects
table).Using Formulas:
Exploring APIs:
NocoDB is a feature-rich platform. For detailed guides, tutorials, API documentation, and advanced usage, refer to the official NocoDB Documentation.
"},{"location":"apps/ollama/","title":"Ollama: Local AI Model Server","text":"Ollama is a tool that allows you to run large language models (LLMs) locally on your own server or computer. It simplifies the process of downloading, setting up, and interacting with powerful open-source AI models, providing AI capabilities without relying on third-party cloud services and ensuring data privacy.
"},{"location":"apps/ollama/#key-features","title":"Key Features","text":"ollama pull
), running them (ollama run
), and managing them (ollama list
).For more detailed information about Ollama, visit the official repository.
"},{"location":"apps/ollama/#getting-started-with-ollama-within-changemaker","title":"Getting Started with Ollama (within Changemaker)","text":"Ollama itself is primarily a command-line tool and an API server. You typically interact with it via a terminal or through a UI like OpenWebUI.
"},{"location":"apps/ollama/#managing-ollama-via-terminal-eg-in-code-server","title":"Managing Ollama via Terminal (e.g., in Code Server)","text":"Access a Terminal:
Common Ollama Commands:
List Downloaded Models: See which models you currently have.
docker exec -it ollama-changemaker ollama list\n
(The docker exec -it ollama-changemaker
part is necessary if Ollama is running in a Docker container named ollama-changemaker
, which is common. If Ollama is installed directly on the host, you'd just run ollama list
.) Pull (Download) a New Model: Download a model from the Ollama library. Replace gemma:2b
with the desired model name and tag.
docker exec -it ollama-changemaker ollama pull gemma:2b \n
(Example: ollama pull llama3
, ollama pull mistral
) Run a Model (Interactive Chat in Terminal): Chat directly with a model in the terminal.
docker exec -it ollama-changemaker ollama run gemma:2b\n
(Press Ctrl+D
or type /bye
to exit the chat.) Remove a Model: Delete a downloaded model to free up space.
docker exec -it ollama-changemaker ollama rm gemma:2b\n
For a more user-friendly chat experience, use OpenWebUI, which connects to your Ollama service. See the apps/openwebui.md
documentation for details.
Ollama is an AI model server. It is not used for editing this documentation site. Site editing is done via Code Server.
"},{"location":"apps/ollama/#further-information","title":"Further Information","text":"ollama.md
at the root of the docs
folder in your project might also contain specific setup notes for your Changemaker instance.OpenWebUI provides a user-friendly, web-based chat interface for interacting with local AI models run by Ollama. It makes leveraging the power of large language models (LLMs) accessible to users who may not be comfortable with command-line interfaces, offering a familiar chat experience.
"},{"location":"apps/openwebui/#key-features","title":"Key Features","text":"For more detailed information about OpenWebUI, visit the official documentation.
"},{"location":"apps/openwebui/#getting-started-with-openwebui","title":"Getting Started with OpenWebUI","text":""},{"location":"apps/openwebui/#prerequisites","title":"Prerequisites","text":"ollama pull llama3
).http://localhost:3005/
(or your configured external URL).ollama list
to see available models or ollama pull <modelname>
(e.g., ollama pull gemma:2b
) to download a new one.OpenWebUI is a tool for interacting with AI models. It is not used for editing this documentation site. Site editing is done via Code Server.
"},{"location":"apps/openwebui/#further-information","title":"Further Information","text":"Portainer is a lightweight management UI that allows you to easily manage your Docker environments (or other container orchestrators like Kubernetes). Changemaker V5 runs its applications as Docker containers, and Portainer provides a visual interface to see, manage, and troubleshoot these containers.
"},{"location":"apps/portainer/#key-features","title":"Key Features","text":"For more detailed information about Portainer, visit the official documentation.
"},{"location":"apps/portainer/#getting-started-with-portainer","title":"Getting Started with Portainer","text":""},{"location":"apps/portainer/#accessing-portainer","title":"Accessing Portainer","text":"http://localhost:9002/
(or your configured external URL).Dashboard: The main dashboard provides an overview of your Docker environment (number of containers, volumes, images, etc.).
Containers List:
code-server
, flatnotes
, listmonk
, etc., that make up Changemaker).Images List:
Volumes List:
Stacks (Docker Compose):
docker-compose.yml
file. You might see it listed here.Portainer is for managing the Docker containers that run the applications. It is not used for editing this documentation site. Site editing is done via Code Server.
"},{"location":"apps/portainer/#further-information","title":"Further Information","text":"Rocket.Chat is a powerful, open-source team collaboration platform. It offers a wide range of communication tools, including real-time chat, channels, direct messaging, video conferencing, and file sharing. It's designed for teams and communities to communicate and collaborate effectively in a self-hosted environment.
"},{"location":"apps/rocketchat/#key-features","title":"Key Features","text":"For more detailed information about Rocket.Chat, visit the official documentation.
"},{"location":"apps/rocketchat/#getting-started-with-rocketchat","title":"Getting Started with Rocket.Chat","text":""},{"location":"apps/rocketchat/#accessing-rocketchat","title":"Accessing Rocket.Chat","text":"http://localhost:3004/
(or your configured external URL).Interface Overview:
Joining Channels:
Sending Messages:
Starting a Video/Audio Call: Look for the call icons within a channel or direct message to start a voice or video call.
Managing Your Profile: Update your profile picture, status, and notification preferences.
Administration (For Admins):
Rocket.Chat is a communication platform. It is not used for editing this documentation site. Site editing is done via Code Server.
"},{"location":"apps/rocketchat/#further-information","title":"Further Information","text":"This guide provides a brief overview of writing content using Markdown and leveraging the styling capabilities of the MkDocs Material theme for your Changemaker documentation site.
"},{"location":"guides/authoring-content/#markdown-basics","title":"Markdown Basics","text":"Markdown is a lightweight markup language with plain-text formatting syntax. It's designed to be easy to read and write.
"},{"location":"guides/authoring-content/#headings","title":"Headings","text":"# Heading 1\n## Heading 2\n### Heading 3\n
"},{"location":"guides/authoring-content/#emphasis","title":"Emphasis","text":"*Italic text* or _Italic text_\n**Bold text** or __Bold text__\n~~Strikethrough text~~\n
"},{"location":"guides/authoring-content/#lists","title":"Lists","text":"Ordered List:
1. First item\n2. Second item\n3. Third item\n
Unordered List:
- Item A\n- Item B\n - Sub-item B1\n - Sub-item B2\n* Item C\n
"},{"location":"guides/authoring-content/#links","title":"Links","text":"[Link Text](https://www.example.com)\n[Link with Title](https://www.example.com \"An example link\")\n[Relative Link to another page](../apps/code-server.md)\n
"},{"location":"guides/authoring-content/#images","title":"Images","text":"\n
Place your images in the mkdocs/docs/assets/images/
directory (or create it if it doesn't exist) and reference them accordingly."},{"location":"guides/authoring-content/#code-blocks","title":"Code Blocks","text":"Inline Code: Use backticks: this is inline code
.
Fenced Code Blocks (Recommended for multi-line code): Specify the language for syntax highlighting.
```python\ndef hello_world():\n print(\"Hello, world!\")\n```\n\n```html\n<h1>Hello</h1>\n```\n
"},{"location":"guides/authoring-content/#blockquotes","title":"Blockquotes","text":"> This is a blockquote.\n> It can span multiple lines.\n
"},{"location":"guides/authoring-content/#horizontal-rule","title":"Horizontal Rule","text":"---\n***\n
"},{"location":"guides/authoring-content/#tables","title":"Tables","text":"| Header 1 | Header 2 | Header 3 |\n| :------- | :------: | -------: |\n| Align L | Center | Align R |\n| Cell 1 | Cell 2 | Cell 3 |\n
"},{"location":"guides/authoring-content/#mkdocs-material-theme-features","title":"MkDocs Material Theme Features","text":"MkDocs Material provides many enhancements and custom syntax options on top of standard Markdown.
"},{"location":"guides/authoring-content/#admonitions-call-outs","title":"Admonitions (Call-outs)","text":"These are great for highlighting information.
!!! note\n This is a note.\n\n!!! tip \"Optional Title\"\n Here's a helpful tip!\n\n!!! warning\n Be careful with this action.\n\n!!! danger \"Critical Alert\"\n This is a critical warning.\n\n!!! abstract \"Summary\"\n This is an abstract or summary.\n
Supported types include: note
, abstract
, info
, tip
, success
, question
, warning
, failure
, danger
, bug
, example
, quote
.
Your mkdocs.yml
is configured for pymdownx.highlight
which supports this.
```python title=\"my_script.py\" linenums=\"1\"\nprint(\"Hello from Python\")\n```\n
"},{"location":"guides/authoring-content/#emojis","title":"Emojis","text":"Your mkdocs.yml
has pymdownx.emoji
enabled.
:smile: :rocket: :warning:\n
See the MkDocs Material Emoji List for available emojis."},{"location":"guides/authoring-content/#footnotes","title":"Footnotes","text":"Your mkdocs.yml
has footnotes
enabled.
This is some text with a footnote.[^1]\n\n[^1]: This is the footnote definition.\n
"},{"location":"guides/authoring-content/#content-tabs","title":"Content Tabs","text":"Group related content under tabs.
=== \"Tab 1 Title\"\n Content for tab 1 (can be Markdown)\n\n=== \"Tab 2 Title\"\n Content for tab 2\n\n ```python\n # Code blocks work here too\n print(\"Hello from Tab 2\")\n ```\n
"},{"location":"guides/authoring-content/#task-lists","title":"Task Lists","text":"- [x] Completed task\n- [ ] Incomplete task\n- [ ] Another task\n
"},{"location":"guides/authoring-content/#styling-with-attributes-attr_list","title":"Styling with Attributes (attr_list
)","text":"You can add CSS classes or IDs to elements.
This is a paragraph with a custom class.\n{: .my-custom-class }\n\n## A Heading with an ID {#custom-heading-id}\n
This is useful for applying custom CSS from your extra.css
file."},{"location":"guides/authoring-content/#buttons","title":"Buttons","text":"MkDocs Material has a nice way to create buttons from links:
[This is a button link](https://example.com){ .md-button }\n[Primary button](https://example.com){ .md-button .md-button--primary }\n[Another button](another-page.md){ .md-button }\n
"},{"location":"guides/authoring-content/#editing-workflow","title":"Editing Workflow","text":"mkdocs/docs/
directory..md
files or edit existing ones.Ctrl+S
or Cmd+S
).mkdocs serve
running (either locally on your machine if developing there, or in a terminal within Code Server pointing to the mkdocs
directory), your documentation site (usually at http://localhost:8000
or http://127.0.0.1:8000
) will auto-reload.This guide should give you a solid start. Explore the MkDocs Material documentation for even more advanced features like diagrams, math formulas, and more complex page layouts.
"},{"location":"guides/ollama-vscode/","title":"Using Ollama Models in VS Code (Code-Server)","text":"You can integrate Ollama models with your VS Code environment (code-server) in several ways:
"},{"location":"guides/ollama-vscode/#option-1-install-a-vs-code-extension","title":"Option 1: Install a VS Code Extension","text":"The easiest approach is to install a VS Code extension that connects to Ollama:
http://ollama-changemaker:11434\n
Since the Docker CLI isn't available inside the code-server container, we can interact with the Ollama API directly using curl:
# List available models\ncurl http://ollama-changemaker:11434/api/tags\n\n# Generate text with a model\ncurl -X POST http://ollama-changemaker:11434/api/generate -d '{\n \"model\": \"llama3\",\n \"prompt\": \"Write a function to calculate Fibonacci numbers\"\n}'\n\n# Pull a new model\ncurl -X POST http://ollama-changemaker:11434/api/pull -d '{\n \"name\": \"mistral:7b\"\n}'\n
"},{"location":"guides/ollama-vscode/#option-3-write-code-that-uses-the-ollama-api","title":"Option 3: Write Code That Uses the Ollama API","text":"You can write scripts that connect to Ollama's API. For example, in Python:
import requests\n\ndef ask_ollama(prompt, model=\"llama3\"):\n response = requests.post(\n \"http://ollama-changemaker:11434/api/generate\",\n json={\"model\": model, \"prompt\": prompt}\n )\n return response.json()[\"response\"]\n\n# Example usage\nresult = ask_ollama(\"What is the capital of France?\")\nprint(result)\n\n# List available models\ndef list_models():\n response = requests.get(\"http://ollama-changemaker:11434/api/tags\")\n models = response.json()[\"models\"]\n return [model[\"name\"] for model in models]\n\n# Pull a new model\ndef pull_model(model_name):\n response = requests.post(\n \"http://ollama-changemaker:11434/api/pull\",\n json={\"name\": model_name}\n )\n # This will take time for large models\n return response.status_code\n
"},{"location":"guides/ollama-vscode/#from-your-host-machines-terminal-not-vs-code","title":"From Your Host Machine's Terminal (Not VS Code)","text":"If you want to use Docker commands, you'll need to run them from your host machine's terminal, not from inside VS Code:
# List available models\ndocker exec -it ollama-changemaker ollama list\n\n# Pull models\ndocker exec -it ollama-changemaker ollama pull llama3\ndocker exec -it ollama-changemaker ollama pull mistral:7b\ndocker exec -it ollama-changemaker ollama pull codellama\n
The key is using the Docker network hostname ollama-changemaker
with port 11434
as your connection point, which should be accessible from your code-server container since they're on the same network.