diff --git a/mkdocs/docs/overrides/home.html b/mkdocs/docs/overrides/home.html index 3a976ec..9e2f8ad 100644 --- a/mkdocs/docs/overrides/home.html +++ b/mkdocs/docs/overrides/home.html @@ -1,37 +1,61 @@ {% extends "main.html" %} {% block content %} + +
+ +
+

Welcome to Changemaker V5

-

Your battle-tested, lightweight, self-hosted productivity suite. Empowering you with complete control, inherent security, and true freedom of speech.

+

A self-hosted, open-source platform for digital campaigns.

+

Changemaker V5 is a battle-tested, lightweight, self-hosted productivity suite that empowers you to build secure websites, blogs, newsletters, and forms. With 100% locally hosted AI and automation systems, it helps you manage a community of collaborators—from personal projects to full-fledged campaigns—granting you complete control, inherent security, and true freedom of speech for your content.

+

Build your power, don't rent it.

Explore Applications + + code Code + +
+ +
+

Quick Start

+

Familiar with the terminal, git, and Docker? Get Changemaker up and running in minutes:

+
+
# Clone the repository
+git clone https://gitea.bnkhome.org/bnkops/Changemaker.git
+cd Changemaker
+
+ +
+
# Run the config.sh script
+./config.sh
+
+ +
+
# Start all services
+docker compose up -d
+
+ +

That's it! After services start (which may take a few minutes on first run), visit http://localhost:3011 to get started.

+

Access Homepage (only works with if Changemaker installed) +

Important: Make sure to visit https://localhost:9444 immediately to configure Portainer before the installation process times out. See the Portainer documentation for details.

+ Detailed Installation Guide

What is Changemaker?

-

Changemaker V5 is a project undertaken by The Bunker Operations, headquartered in Edmonton, Alberta, Canada, to provide our community a digital campaign alternative to mainstream American systems. It empowers you to deploy secure, locally-built websites, blogs, newsletters, & forms – from personal projects to full-fledged campaigns.

+

Changemaker V5 is a curated set of free & open source tools that has been pre-configured into a platform for the express intent of running a digital campaign. It empowers you to deploy secure, locally-built websites, blogs, newsletters, & forms – from personal projects to full-fledged campaigns.

-

🚀 Quick Start & Onboarding

-

Ready to dive in? Here’s how to get started:

-

1. Access and Edit Your Site with Code Server

-

Code Server (VS Code in your browser) is already configured to allow you to edit your entire Changemaker site, including this documentation and application configurations. To access it, click the "Login" button in the header, which typically links to Code Server or your main dashboard where Code Server can be accessed.

-

To log into Code Server:

- -

Code Server is pre-configured to open your main Changemaker project folder (e.g., /home/bunker-admin/Changemaker/), so you can start editing files immediately after logging in.

-

2. Update Your Site Configuration

-

Open your mkdocs.yml file and customize these key settings:

-
-
site_name: Your Awesome Site
-site_description: A brief, compelling description of your new site
-site_author: Your Name or Organization
-
-

Save the file, and your site will update almost instantly!

-

For more detailed setup instructions, refer to the full Installation Guide.

+

Why Changemaker?

+

Changemaker V5 is a project undertaken by The Bunker Operations, a community building organization, headquartered in Edmonton, Alberta, Canada, to provide our community a digital campaign alternative to mainstream American systems. It intends to be a plug-and-play web server platform so we can transition our friends, allies, and comrades off of corporate systems.

@@ -77,7 +101,94 @@ site_author: Your Name or Organization
Learn More - + +
+
+

question_answerAnswer

+

Self-hosted Q&A platform for teams to share knowledge internally.

+
+ Learn More +
+ +
+
+

drawExcalidraw

+

Virtual whiteboard for sketching and collaborative diagramming.

+
+ Learn More +
+ +
+
+

appsFerdium

+

All-in-one desktop app that helps you organize multiple social media services in one place.

+
+ Learn More +
+ +
+
+

sourceGitea

+

Lightweight, self-hosted Git service for managing repositories and collaboration.

+
+ Learn More +
+ +
+
+

articleMkDocs Material

+

Create beautiful documentation sites with Markdown (like this one!).

+
+ Learn More +
+ +
+
+

peopleMonica CRM

+

Personal relationship management system to organize interactions with your contacts.

+
+ Learn More +
+ +
+
+

integration_instructionsn8n

+

Workflow automation tool that connects various apps and services together.

+
+ Learn More +
+ +
+
+

smart_toyOllama

+

Run open-source large language models locally for AI-powered assistance.

+
+ Learn More +
+ +
+
+

chatOpenWebUI

+

Web interface for interacting with your Ollama AI models.

+
+ Learn More +
+ +
+
+

sailingPortainer

+

Container management platform that simplifies deploying and managing Docker environments.

+
+ Learn More +
+ +
+
+

forumRocket.Chat

+

Self-hosted team communication platform with real-time chat and collaboration.

+
+ Learn More +
diff --git a/mkdocs/docs/overrides/main.html b/mkdocs/docs/overrides/main.html index 0b171c9..aa1dc5b 100644 --- a/mkdocs/docs/overrides/main.html +++ b/mkdocs/docs/overrides/main.html @@ -1,4 +1,4 @@ {% extends "base.html" %} {% block extrahead %} {% endblock %} {% block announce %} Login -This is a demo site for Change Maker. Learn more +Changemkaer Archive. Learn more {% endblock %} {% block scripts %} {{ super() }} {% endblock %} \ No newline at end of file diff --git a/mkdocs/docs/quick-commands.md b/mkdocs/docs/quick-commands.md index 88a00d2..4e101cf 100644 --- a/mkdocs/docs/quick-commands.md +++ b/mkdocs/docs/quick-commands.md @@ -2,7 +2,5 @@ Info on ollama -``` -docker exec -it ollama-changemaker ollama pull gemma3 -``` + diff --git a/mkdocs/docs/readme.md b/mkdocs/docs/readme.md index 6ccadc2..32ffbc3 100755 --- a/mkdocs/docs/readme.md +++ b/mkdocs/docs/readme.md @@ -1,15 +1,17 @@ # Changemaker V5 +![changemakergif](/assets/images/changemkaerv5.gif) + +--- + Changemaker V5 is a battle-tested, lightweight, self-hosted productivity suite which empowers you to deploy secure, locally-built websites, blogs, newsletters, & forms – from personal projects to full-fledged campaigns – 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. ---- -## Currated Suite of Applications -![homepage](/assets/images/homepage.png) ---- +![build your power](/assets/images/buildyourpower.png) ## Contents + - [Prerequisites](#prerequisites) - [Quick Start](#quick-start) - [Detailed Installation](#detailed-installation) @@ -24,6 +26,7 @@ It is a project undertaken by The Bunker Operations, headquarted in Edmonton, Al - [Configure Your Cloudflare Tunnel](#configure-your-cloudflare-tunnel) - [Create a Cloudflare System Service](#create-a-cloudflare-system-service) - [Add CNAME Records](#add-cname-records) +- [Website Build and Deployment Workflow](#website-build-and-deployment-workflow) - [Reset Your Installation](#reset-your-installation) - [Accessing Your Services](#accessing-your-services) - [Troubleshooting](#troubleshooting) @@ -32,12 +35,14 @@ It is a project undertaken by The Bunker Operations, headquarted in Edmonton, Al ## Development Pathway 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](https://hi.events/) - Scheduling: Looking at [rally](https://rallly.co/) - Support and user chat: looking at [chatwoot](https://github.com/chatwoot/chatwoot) @@ -45,10 +50,11 @@ Idenitfied Feature Requests: - Team chat and project management: looking at [rocket chat](https://github.com/RocketChat/Rocket.Chat) ✔️ Bugs: + - Readme needs a full flow redo - ✅ next up - Config script needs to be updated for nocodb for a simpler string / set the string - :white_check_mark: - Gitea DNS application access bypass not properly setting - ✅ bypass needing manual setup / need to explore api more -- Portainer not serving to http - 🟡 still not sure how to fix config +- Portainer not serving to http - 🤔 portainer to be limited to local access - nocodb setup upping odd - ✅ password needs no special characters - ferdium port mismatch - ✅ was a cloudflare port setting missmatch @@ -73,12 +79,14 @@ git clone https://gitea.bnkhome.org/bnkops/Changemaker.git cd changemaker ``` +See [Setting Up Cloudflare Credentials](#setting-up-cloudflare-credentials) for how to get cloudflare credentials for config.sh. + ```bash -# Use default configuration for development or run the config script for configuration -# To optionally configure, first make the script executable: +# Use default configuration for local development. +# To configure for remote deployment with Cloudflare, first make the script executable: chmod +x config.sh -# Then run the configuration script: +# Then run the configuration script. You will need your Cloudflare details. ./config.sh ``` @@ -87,15 +95,20 @@ chmod +x config.sh docker compose up -d ``` -**[!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. +On a 1GB internet connection, instal time is approximately 5 minutes. + +### ⚠️ Configure Portainer Immediately 🦊 + +Portainer has a timed build process that needs to be completed on successful build. Proceed to configure the service by visiting https://localhost:9444 + +Gitea has a install process that you should complete immediately after connecting system to dns and domain services. + +### On Successful Build, Vist [Local Homepage](http://localhost:3011) +The [local homepage - http://localhost:3011](http://localhost:3011) is configured with all of the services you can access securely locally. + +To access services outside of network, configure a VPN, Tailscale, or continue to Cloudflare publishing documentation. ## Local Service Ports @@ -103,6 +116,8 @@ When running Changemaker locally, you can access the services at the following p | Service | Local Port | Local URL | |--------------|------------|------------------------------------------| +| Root/Website (Nginx) | 4001 | [http://localhost:4001](http://localhost:4001) | +| Homepage (local) | 3011 | [http://locahost:3011](http://localhost:3011) | | Homepage | 3010 | [http://localhost:3010](http://localhost:3010) | | Excalidraw | 3333 | [http://localhost:3333](http://localhost:3333) | | Listmonk | 9000 | [http://localhost:9000](http://localhost:9000) | @@ -113,19 +128,15 @@ When running Changemaker locally, you can access the services at the following p | Ollama | 11435 | [http://localhost:11435](http://localhost:11435) | | OpenWebUI | 3005 | [http://localhost:3005](http://localhost:3005) | | Gitea | 3030 | [http://localhost:3030](http://localhost:3030) | -| Portainer | 8005 | [http://localhost:8005](http://localhost:8005) | +| Portainer | 8005 | [https://localhost:9444](https://localhost:9444) | | Mini QR | 8081 | [http://localhost:8081](http://localhost:8081) | -| Ferdium | 3006 | [http://localhost:3006](http://localhost:3006) | +| Ferdium | 3009 | [http://localhost:3009](http://localhost:3009) | | Answer | 9080 | [http://localhost:9080](http://localhost:9080) | | NocoDB | 8090 | [http://localhost:8090](http://localhost:8090) | -| n8n | 5678 | [https://localhost:5678](https://localhost:5678) | +| n8n | 5678 | [http://localhost:5678](http://localhost:5678) | | ConvertX | 3100 | [http://localhost:3100](http://localhost:3100) | | Rocket.Chat | 3004 | [http://localhost:3004](http://localhost:3004) | - - -## Detailed Installation - ### Ubuntu OS & Build Outs 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: @@ -162,6 +173,7 @@ cd changemaker-v5 To use the script, you'll need to collect several Cloudflare variables: 1. **Create an API Token with appropriate permissions**: + - Go to your [Cloudflare Dashboard](https://dash.cloudflare.com/) → Profile → API Tokens - Click "Create Token" - Either use the "Edit zone DNS" template or create a custom token with: @@ -171,11 +183,13 @@ To use the script, you'll need to collect several Cloudflare variables: - Generate and copy the token 2. **Get your Zone ID**: + - Go to your domain's overview page in the Cloudflare dashboard - The Zone ID is displayed on the right sidebar - It looks like: `023e105f4ecef8ad9ca31a8372d0c353` 3. **Get your Tunnel ID**: + - You should have noted your tunnel id in your tunnel creation or you can find it through cloudflare or in your files: - Go to Cloudflare Zero Trust dashboard → Access → Tunnels - Click on your tunnel @@ -185,6 +199,7 @@ To use the script, you'll need to collect several Cloudflare variables: You have two options: **Option A: Use the configuration wizard (recommended)** + ```bash # Make the script executable chmod +x config.sh @@ -245,21 +260,65 @@ This script will add CNAME records for all Changemaker services to your Cloudfla 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 +> [!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. +## Website Build and Deployment Workflow + +Changemaker uses MkDocs to create your website content, which is then served by an Nginx server. To update your website, you need to: + +1. **Edit your content** using either the Code Server or locally on your machine +2. **Build the static site files** +3. **Let the Nginx server (mkdocs-site-server) serve the built site** + +### Building Your Website + +You can build your website in two ways: + +#### Option 1: Using Code Server (recommended for remote deployments) +1. Access Code Server at http://localhost:8888 or https://code-server.yourdomain.com +2. Navigate to the mkdocs directory `/home/coder/mkdocs/` +3. Open a terminal in Code Server +4. Run the build command: + ```bash + cd /home/coder/mkdocs + mkdocs build + ``` + +#### Option 2: Locally on your machine +1. Navigate to the mkdocs directory in your project: + ```bash + cd /home/bunker-admin/Changemaker/mkdocs + ``` +2. Run the build command: + ```bash + mkdocs build + ``` + +After building, the static site files will be generated in the `mkdocs/site` directory, which is automatically mounted to the Nginx server (mkdocs-site-server). Your website will be immediately available at: +- Locally: http://localhost:4001 +- With Cloudflare: https://yourdomain.com + +### Development vs Production + +- During **development**, you can use the MkDocs live server at port 4000, which automatically rebuilds when you make changes +- For **production**, build your site as described above and let the Nginx server at port 4001 serve the static files + ## Accessing Your Services The **Homepage** acts as a central dashboard for all your Changemaker services. You can access it at: -- Locally: http://localhost:3010 or http://your-server-ip:3010 +- Locally: http://localhost:3011 or http://your-server-ip:3011 - With Cloudflare: https://homepage.yourdomain.com 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: +- Website: https://yourdomain.com - Homepage: https://homepage.yourdomain.com +- Live Preview: https://live.yourdomain.com - Excalidraw: https://excalidraw.yourdomain.com - Listmonk: https://listmonk.yourdomain.com - Monica CRM: https://monica.yourdomain.com diff --git a/mkdocs/docs/stylesheets/extra.css b/mkdocs/docs/stylesheets/extra.css index 8561a90..973ed0a 100644 --- a/mkdocs/docs/stylesheets/extra.css +++ b/mkdocs/docs/stylesheets/extra.css @@ -18,6 +18,33 @@ text-decoration: none; } +.git-code-button { + display: inline-block; + background: #30363d; + color: white !important; + padding: 0.6rem 1.2rem; + border-radius: 20px; + text-decoration: none; + font-size: 0.95rem; + font-weight: bold; + margin-left: 1rem; + transition: all 0.3s ease; + box-shadow: 0 2px 5px rgba(0,0,0,0.2); +} + +.git-code-button:hover { + background: #444d56; + transform: translateY(-2px); + box-shadow: 0 4px 8px rgba(0,0,0,0.3); + text-decoration: none; +} + +.git-code-button .material-icons { + font-size: 1rem; + vertical-align: middle; + margin-right: 4px; +} + /* Styles for the new home page design */ :root { --bnk-dark-bg: #1e2127; /* Existing */ @@ -68,6 +95,80 @@ text-decoration: none; } +.quick-start-section { + background: rgba(40, 44, 52, 0.5); /* Similar to info-section */ + border: 1px solid rgba(var(--md-code-fg-color--rgb), 0.12); /* Consistent border */ + border-radius: 8px; /* Rounded corners */ + padding: 2rem; + margin: 2.5rem auto; + max-width: 850px; /* Consistent max-width */ + text-align: left; /* Align text to the left */ +} + +.quick-start-section h2 { + color: var(--bnk-yellow); /* Consistent heading color */ + margin-top: 0; + margin-bottom: 1.5rem; + font-size: 1.8rem; /* Consistent heading size */ + border-bottom: 2px solid var(--bnk-accent); /* Accent border */ + padding-bottom: 0.5rem; +} + +.quick-start-section p { + line-height: 1.7; + font-size: 1.05rem; + color: var(--bnk-text); /* Consistent text color */ + margin-bottom: 1rem; +} + +.quick-start-section .code-container { + background: rgba(0, 0, 0, 0.6); /* Darker background for code */ + border-radius: 8px; + padding: 1rem; + margin: 1.5rem 0; + font-family: 'Fira Code', monospace; /* Monospace font for code */ + color: #e0e0e0; /* Light text color for code */ + border: 1px solid rgba(var(--md-code-fg-color--rgb), 0.1); +} + +.quick-start-section .code-container pre { + margin: 0; + white-space: pre-wrap; + word-break: break-all; + background: transparent !important; /* Ensure pre background is transparent */ + padding: 0; /* Remove padding from pre if container handles it */ +} + +.quick-start-section .code-container code { + font-family: 'Fira Code', monospace; /* Ensure code tag also uses monospace */ + color: #e0e0e0; /* Consistent code text color */ + background: transparent !important; /* Ensure code background is transparent */ + font-size: 0.95rem; /* Slightly smaller font for code block */ +} + +.quick-start-section .quick-note { + font-size: 0.9rem; + color: rgba(255, 255, 255, 0.7); /* Subtler text color for the note */ + margin-top: 1rem; + margin-bottom: 1.5rem; +} + +.quick-start-section .button { + display: inline-block; + background: var(--bnk-accent); + color: white !important; + padding: 0.7rem 1.4rem; + border-radius: 5px; + text-decoration: none; + font-weight: bold; + transition: background 0.3s ease; +} + +.quick-start-section .button:hover { + background: #8656e5; + text-decoration: none; +} + .info-section { background: rgba(40, 44, 52, 0.5); border: 1px solid rgba(var(--md-code-fg-color--rgb), 0.12); diff --git a/mkdocs/mkdocs.yml b/mkdocs/mkdocs.yml index ad60652..7b0c48b 100755 --- a/mkdocs/mkdocs.yml +++ b/mkdocs/mkdocs.yml @@ -52,8 +52,6 @@ plugins: nav: - Home: index.md - - About Changemaker: readme.md - - Test: apps.md - Applications: - Overview: apps.md - Homepage Dashboard: apps/homepage.md diff --git a/mkdocs/site/404.html b/mkdocs/site/404.html index f0c2c19..84f4934 100644 --- a/mkdocs/site/404.html +++ b/mkdocs/site/404.html @@ -81,7 +81,7 @@ Login -This is a demo site for Change Maker. Learn more +Changemkaer Archive. Learn more @@ -205,44 +205,6 @@ This is a demo site for Change Maker. L -
  • - - - - - - - About Changemaker - - -
  • - - - - - - - - -
  • - - - - - - - Test - - -
  • - - - - - - - -
  • @@ -364,50 +326,6 @@ This is a demo site for Change Maker. L -
  • - - - - - - About Changemaker - - - - - -
  • - - - - - - - - - -
  • - - - - - - Test - - - - - -
  • - - - - - - - - - @@ -458,10 +376,10 @@ This is a demo site for Change Maker. L - + - L -