Files
flook-stacks/README.md
2025-12-29 17:55:42 -05:00

101 lines
2.7 KiB
Markdown

# Flook Stacks
Docker Compose stacks for Flook (192.168.1.75) managed via Portainer.
## Stacks
| Stack | Services | Port(s) | Description |
|-------|----------|---------|-------------|
| portainer | portainer | 9000 | Stack management |
| proxy | npm | 1880, 18443, 81 | Nginx Proxy Manager (CRITICAL) |
| documents | paperless, paperless-db, paperless-redis, paperless-tika, paperless-gotenberg, onlyoffice | 8777, 8089, 4430 | Document management |
| productivity | gitlab, vaultwarden, memos, mortis, freshrss | 8929, 4743, 5230, 5231, 8054 | Personal tools |
| backup | borgmatic | - | Borg backup to chook |
| seafile | seafile, seadoc, mysql, redis, notification, md-server, seasearch | 8098, 8888, 8083, 8084, 4080 | File sync (migrated from VM) |
| outline | outline, postgres, redis | 3000 | Wiki (migrated from VM) |
## Deployment Order
1. `portainer` - Deploy first, manually
2. `productivity` - GitLab, Vaultwarden, Memos, FreshRSS, Mortis
3. `documents` - Paperless, OnlyOffice
4. `backup` - Borgmatic
5. `proxy` - CRITICAL - deploy carefully, brief downtime expected
6. `seafile` - After migrating data from VM
7. `outline` - After migrating data from VM
## Migration Notes
### Seafile Migration (from VM 192.168.1.112)
1. **Stop Seafile on VM:**
```bash
ssh rishi@192.168.1.112
cd /opt/seafile && docker compose down
```
2. **Create directories on Flook:**
```bash
mkdir -p /mnt/user/appdata/seafile/{data,db-data,seadoc-data,seasearch-data}
```
3. **Copy data:**
```bash
rsync -avP rishi@192.168.1.112:~/seafile/data/ /mnt/user/appdata/seafile/data/
rsync -avP rishi@192.168.1.112:~/seafile/db-data/ /mnt/user/appdata/seafile/db-data/
```
4. **Copy seahub_settings.py:**
```bash
cp /mnt/user/data/flook-stacks/stacks/seafile/seahub_settings.py /mnt/user/appdata/seafile/
```
5. **Deploy stack via Portainer**
### Outline Migration (from VM 192.168.1.112)
1. **Create directories on Flook:**
```bash
mkdir -p /mnt/user/appdata/outline/{postgres-data,redis}
```
2. **Export Postgres from VM:**
```bash
ssh rishi@192.168.1.112
docker exec outline-postgres-1 pg_dump -U rishi outline > ~/outline_backup.sql
```
3. **Copy backup to Flook:**
```bash
scp rishi@192.168.1.112:~/outline_backup.sql /mnt/user/appdata/outline/
```
4. **Deploy stack via Portainer** (this creates empty DB)
5. **Stop outline container temporarily:**
```bash
docker stop outline
```
6. **Import data:**
```bash
docker exec -i outline-postgres psql -U rishi outline < /mnt/user/appdata/outline/outline_backup.sql
```
7. **Start outline:**
```bash
docker start outline
```
8. **Stop VM services after verification:**
```bash
ssh rishi@192.168.1.112
cd ~/outline && docker compose down
```
## Repository
```
https://git.rishighan.com/root/flook-stacks.git
```