2025-05-30 12:43:55 -06:00

169 lines
5.5 KiB
Markdown

# Services
Changemaker Lite includes several powerful services that work together to provide a complete documentation and development platform. Each service is containerized and can be accessed through its dedicated port.
## Available Services
### [Code Server](code-server.md)
**Port: 8888** | Visual Studio Code in your browser for remote development
- Full IDE experience
- Extensions support
- Git integration
- Terminal access
### [Listmonk](listmonk.md)
**Port: 9000** | Self-hosted newsletter and mailing list manager
- Email campaigns
- Subscriber management
- Analytics
- Template system
### [PostgreSQL](postgresql.md)
**Port: 5432** | Reliable database backend
- Data persistence for Listmonk
- ACID compliance
- High performance
- Backup and restore capabilities
### [MkDocs Material](mkdocs.md)
**Port: 4000** | Documentation site generator with live preview
- Material Design theme
- Live reload
- Search functionality
- Markdown support
### [Static Site Server](static-server.md)
**Port: 4001** | Nginx-powered static site hosting
- High-performance serving
- Built documentation hosting
- Caching and compression
- Security headers
### [n8n](n8n.md)
**Port: 5678** | Workflow automation tool
- Visual workflow editor
- 400+ integrations
- Custom code execution
- Webhook support
### [NocoDB](nocodb.md)
**Port: 8090** | No-code database platform
- Smart spreadsheet interface
- Form builder and API generation
- Real-time collaboration
- Multi-database support
### [Homepage](homepage.md)
**Port: 3010** | Modern dashboard for all services
- Service dashboard and monitoring
- Docker integration
- Customizable layout
- Quick search and bookmarks
## Service Architecture
```
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Homepage │ │ Code Server │ │ MkDocs │
│ :3010 │ │ :8888 │ │ :4000 │
└─────────────────┘ └─────────────────┘ └─────────────────┘
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Static Server │ │ Listmonk │ │ n8n │
│ :4001 │ │ :9000 │ │ :5678 │
└─────────────────┘ └─────────────────┘ └─────────────────┘
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ NocoDB │ │ PostgreSQL │ │ PostgreSQL │
│ :8090 │ │ (listmonk-db) │ │ (root_db) │
└─────────────────┘ │ :5432 │ │ :5432 │
│ └─────────────────┘ └─────────────────┘
└──────────────────────────────────────────────────────┘
```
## Getting Started
1. **Start all services**: `docker compose up -d`
2. **Check service status**: `docker compose ps`
3. **View logs**: `docker compose logs [service-name]`
4. **Stop services**: `docker compose down`
## Service Dependencies
- **Listmonk** depends on **PostgreSQL** (listmonk-db)
- **NocoDB** depends on **PostgreSQL** (root_db)
- **Static Server** serves content built by **MkDocs**
- **n8n** can integrate with all other services
- All services share the `changemaker` network
## Environment Configuration
Services are configured through environment variables in your `.env` file:
```env
# Port configurations
CODE_SERVER_PORT=8888
LISTMONK_PORT=9000
LISTMONK_DB_PORT=5432
MKDOCS_PORT=4000
MKDOCS_SITE_SERVER_PORT=4001
N8N_PORT=5678
# User and group IDs
USER_ID=1000
GROUP_ID=1000
# Database configuration
POSTGRES_USER=listmonk
POSTGRES_PASSWORD=your_password
POSTGRES_DB=listmonk
# n8n configuration
N8N_ENCRYPTION_KEY=your_encryption_key
N8N_USER_EMAIL=admin@example.com
N8N_USER_PASSWORD=your_password
```
## Monitoring and Maintenance
### Health Checks
```bash
# Check all services
docker compose ps
# Check specific service logs
docker compose logs listmonk-app
docker compose logs code-server
```
### Updates
```bash
# Pull latest images
docker compose pull
# Restart with new images
docker compose down && docker compose up -d
```
### Backups
- **PostgreSQL**: Regular database backups
- **n8n**: Export workflows and credentials
- **Code Server**: Backup configuration and workspace
- **MkDocs**: Version control your documentation
## Troubleshooting
### Common Issues
1. **Port Conflicts**: Ensure ports are not used by other applications
2. **Permission Issues**: Check `USER_ID` and `GROUP_ID` settings
3. **Network Issues**: Verify services can communicate through the `changemaker` network
4. **Data Persistence**: Ensure volumes are properly mounted
### Getting Help
- Check individual service documentation
- Review container logs for error messages
- Verify environment variable configuration
- Test network connectivity between services