freealberta/mkdocs/docs/getting-started.md
2025-05-28 09:47:43 -06:00

232 lines
4.7 KiB
Markdown

# Getting Started
Welcome to Changemaker Lite! This guide will help you get up and running quickly.
## Prerequisites
Before starting, ensure you have:
- [Docker](https://docs.docker.com/get-docker/) installed
- [Docker Compose](https://docs.docker.com/compose/install/) installed
- Git for cloning the repository
- Basic familiarity with terminal/command line
## Installation
### 1. Clone Repository
```bash
git clone https://gitea.bnkops.com/admin/Changemaker.git
cd changemaker.lite
```
### 2. Configuration
Run the configuration script to set up environment variables:
```bash
./config.sh
```
This creates a `.env` file with default settings. You can edit this file to customize:
- Service ports
- Database credentials
- User/group IDs
- Domain settings
### 3. Start Services
Launch all services with Docker Compose:
```bash
docker compose up -d
```
Wait a few minutes for all services to start, especially on first run as Docker images need to be downloaded.
### 4. Verify Installation
Check that services are running:
```bash
docker compose ps
```
All services should show as "Up" status.
## First Steps
### Access the Dashboard
Start with the **Homepage Dashboard**: http://localhost:3010
- Central hub for all services
- Live status monitoring
- Quick access to all applications
### Access Documentation
1. **Development Server**: http://localhost:4000
- Live preview with auto-reload
- Used while writing documentation
2. **Production Server**: http://localhost:4001
- Serves built static site
- Optimized for performance
### Start Coding
1. Open **Code Server**: http://localhost:8888
2. Navigate to `/home/coder/mkdocs/` workspace
3. Edit documentation files in `docs/` directory
4. See changes instantly in development server
### Set Up Email Campaigns
1. Access **Listmonk**: http://localhost:9000
2. Log in with admin credentials (set in config)
3. Configure SMTP settings
4. Create your first mailing list
### Create Workflows
1. Open **n8n**: http://localhost:5678
2. Log in with admin credentials
3. Create your first workflow
4. Connect different services together
### Manage Data with NocoDB
1. Access **NocoDB**: http://localhost:8090
2. Complete the initial setup
3. Create your first project
4. Import data or create new tables
### Access All Services via Homepage
1. Open **Homepage**: http://localhost:3010
2. View all services in one dashboard
3. Monitor service status
4. Quick access to all applications
## Configuration Details
### Environment Variables
Key settings in `.env` file:
```env
# Service Ports
HOMEPAGE_PORT=3010
CODE_SERVER_PORT=8888
MKDOCS_PORT=4000
MKDOCS_SITE_SERVER_PORT=4001
LISTMONK_PORT=9000
N8N_PORT=5678
NOCODB_PORT=8090
# Database
POSTGRES_USER=listmonk
POSTGRES_PASSWORD=your_secure_password
POSTGRES_DB=listmonk
# User/Group IDs (match your system)
USER_ID=1000
GROUP_ID=1000
```
### Volume Mounts
Important directories:
- `./mkdocs/`: Documentation source files
- `./configs/`: Service configurations
- `./assets/`: Shared assets and uploads
- Docker volumes for persistent data
## Common Tasks
### Writing Documentation
1. Edit files in `mkdocs/docs/` using Code Server
2. Preview changes at http://localhost:4000
3. Build static site: `docker exec mkdocs-changemaker mkdocs build`
4. View built site at http://localhost:4001
### Managing Services
```bash
# View logs
docker compose logs [service-name]
# Restart service
docker compose restart [service-name]
# Stop all services
docker compose down
# Update services
docker compose pull && docker compose up -d
```
### Backup Important Data
- Export n8n workflows
- Backup PostgreSQL database
- Version control your documentation files
- Save service configurations
## Troubleshooting
### Port Conflicts
If ports are already in use, edit `.env` file:
```env
CODE_SERVER_PORT=8889 # Change from 8888
MKDOCS_PORT=4002 # Change from 4000
```
Then restart: `docker compose down && docker compose up -d`
### Permission Issues
Ensure correct user/group IDs in `.env`:
```bash
# Get your user ID
id -u
# Get your group ID
id -g
```
Update `.env` with these values and restart services.
### Service Won't Start
Check logs for specific errors:
```bash
docker compose logs [service-name]
```
Common issues:
- Port conflicts
- Permission problems
- Missing environment variables
- Network connectivity
## Next Steps
- Explore the [Services](services/index.md) documentation
- Set up your first [n8n workflow](services/n8n.md)
- Configure [Listmonk](services/listmonk.md) for email campaigns
- Customize your [MkDocs](services/mkdocs.md) theme and content
## Getting Help
- Check service-specific documentation
- Review Docker container logs
- Verify environment configuration
- Test network connectivity between services