169 lines
5.5 KiB
Markdown
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
|