108 lines
2.9 KiB
Markdown
108 lines
2.9 KiB
Markdown
# Seafile Stack
|
|
|
|
Seafile 13 Pro with SeaDoc, SeaSearch, Notification Server, and Metadata Server.
|
|
|
|
## Services
|
|
|
|
| Service | Port | Description |
|
|
|---------|------|-------------|
|
|
| seafile | 8098:80 | Main Seafile server |
|
|
| seadoc | 8888:80 | Document collaboration |
|
|
| notification-server | 8083:8083 | Real-time notifications |
|
|
| seafile-md-server | 8084:8084 | Metadata server |
|
|
| seasearch | 4080:4080 | Full-text search |
|
|
| seafile-mysql | - | MariaDB database |
|
|
| seafile-redis | - | Redis cache |
|
|
|
|
## Configuration Files
|
|
|
|
Copy these to `/mnt/user/appdata/seafile/` before deploying:
|
|
|
|
- `seahub_settings.py` - Seahub configuration
|
|
- `seafile.conf` - Seafile server configuration
|
|
|
|
## NGINX Proxy Manager Setup
|
|
|
|
### fileserver.rishighan.com
|
|
|
|
Create HTTPS proxy with this Advanced config:
|
|
|
|
```nginx
|
|
location / {
|
|
proxy_pass http://192.168.1.75:8098;
|
|
proxy_read_timeout 310s;
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
proxy_set_header Connection "upgrade";
|
|
client_max_body_size 0;
|
|
}
|
|
|
|
rewrite ^/seafdav$ /seafdav/ permanent;
|
|
|
|
location /sdoc-server/ {
|
|
proxy_pass http://192.168.1.75:8888/;
|
|
proxy_redirect off;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Host $server_name;
|
|
client_max_body_size 100m;
|
|
}
|
|
|
|
location /socket.io {
|
|
proxy_pass http://192.168.1.75:8888;
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_set_header Connection 'upgrade';
|
|
proxy_redirect off;
|
|
proxy_buffers 8 32k;
|
|
proxy_buffer_size 64k;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header Host $http_host;
|
|
proxy_set_header X-NginX-Proxy true;
|
|
}
|
|
```
|
|
|
|
### notification.rishighan.com
|
|
|
|
Create separate HTTPS proxy pointing to `192.168.1.75:8083`
|
|
|
|
## Migration from VM
|
|
|
|
1. Stop Seafile on VM:
|
|
```bash
|
|
ssh rishi@192.168.1.112
|
|
cd /opt/seafile && docker compose down
|
|
```
|
|
|
|
2. Create directories:
|
|
```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 config files:
|
|
```bash
|
|
cp seahub_settings.py /mnt/user/appdata/seafile/
|
|
cp seafile.conf /mnt/user/appdata/seafile/
|
|
```
|
|
|
|
5. Update NPM proxies to point to 192.168.1.75 instead of 192.168.1.112
|
|
|
|
6. Deploy stack via Portainer
|
|
|
|
## Notes
|
|
|
|
- Notifications only work for shared library events between users
|
|
- SeaDoc requires the `/sdoc-server/` and `/socket.io` proxy locations
|
|
- WebDAV is enabled on port 8080 at `/seafdav`
|