Updated README, removed memos
This commit is contained in:
27
README.md
27
README.md
@@ -1,21 +1,19 @@
|
|||||||
# Flook Stacks
|
# Flook Stacks
|
||||||
|
|
||||||
Docker Compose stacks for Flook (192.168.1.75) managed via Portainer.
|
Docker Compose stacks for Flook (192.168.1.75) managed via Portainer.
|
||||||
|
|
||||||
## Stacks
|
## Stacks
|
||||||
|
|
||||||
| Stack | Services | Port(s) | Description |
|
| Stack | Services | Port(s) | Description |
|
||||||
|-------|----------|---------|-------------|
|
|-------|----------|---------|-------------|
|
||||||
| portainer | portainer | 9000 | Stack management |
|
| portainer | portainer | 9000 | Stack management |
|
||||||
| documents | paperless, paperless-db, paperless-redis, paperless-tika, paperless-gotenberg, onlyoffice | 8777, 8089, 4430 | Document management |
|
| 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 |
|
| productivity | gitlab, vaultwarden, freshrss, linkwarden, prosody | 8929, 4743, 8054, 3030, 5222, 5269 | Personal tools + XMPP |
|
||||||
| backup | borgmatic | - | Borg backup to chook |
|
| backup | borgmatic | - | Borg backup to chook |
|
||||||
| seafile | seafile, seadoc, mysql, redis, notification, md-server, seasearch | 8098, 8888, 8083, 8084, 4080 | File sync |
|
| seafile | seafile, seadoc, mysql, redis, notification, md-server, seasearch | 8098, 8888, 8083, 8084, 4080 | File sync |
|
||||||
| outline | outline, postgres, redis | 3000 | Wiki |
|
| outline | outline, postgres, redis | 3000 | Wiki |
|
||||||
| plane | web, api, worker, beat-worker, admin, space, live, proxy, db, redis, mq, minio | 8082 | Project management |
|
| plane | web, api, worker, beat-worker, admin, space, live, proxy, db, redis, mq, minio | 8082 | Project management |
|
||||||
|
| obsidian | couchdb | 5984 | Obsidian LiveSync backend |
|
||||||
|
|
||||||
## External Services (qsrproxy - 192.168.1.72)
|
## External Services (qsrproxy - 192.168.1.72)
|
||||||
|
|
||||||
| Service | Port(s) | Description |
|
| Service | Port(s) | Description |
|
||||||
|---------|---------|-------------|
|
|---------|---------|-------------|
|
||||||
| npm | 1880, 18443, 81 | Nginx Proxy Manager (CRITICAL) |
|
| npm | 1880, 18443, 81 | Nginx Proxy Manager (CRITICAL) |
|
||||||
@@ -25,23 +23,35 @@ Docker Compose stacks for Flook (192.168.1.75) managed via Portainer.
|
|||||||
| node-exporter | 9100 | System metrics |
|
| node-exporter | 9100 | System metrics |
|
||||||
|
|
||||||
## Deployment Order
|
## Deployment Order
|
||||||
|
|
||||||
1. `portainer` - Deploy first, manually
|
1. `portainer` - Deploy first, manually
|
||||||
2. `productivity` - GitLab, Vaultwarden, Memos, FreshRSS, Mortis
|
2. `productivity` - GitLab, Vaultwarden, FreshRSS, Linkwarden, Prosody
|
||||||
3. `documents` - Paperless, OnlyOffice
|
3. `documents` - Paperless, OnlyOffice
|
||||||
4. `backup` - Borgmatic
|
4. `backup` - Borgmatic
|
||||||
5. `seafile` - File sync and collaboration
|
5. `seafile` - File sync and collaboration
|
||||||
6. `outline` - Wiki
|
6. `outline` - Wiki
|
||||||
7. `plane` - Project management
|
7. `plane` - Project management
|
||||||
|
8. `obsidian` - CouchDB for Obsidian LiveSync
|
||||||
|
|
||||||
|
## Prosody Notes
|
||||||
|
Self-hosted XMPP server for `rishighan.com`. See `stacks/productivity/README.md` for full config.
|
||||||
|
|
||||||
|
TLS cert expires **2026-05-24** — renew manually via certbot DNS challenge before then.
|
||||||
|
|
||||||
|
Ports 5222 and 5269 must be forwarded on the UDM Pro to Flook (192.168.1.75).
|
||||||
|
File uploads proxied via NPM: `xmpp.rishighan.com` → `192.168.1.75:5280`.
|
||||||
|
|
||||||
|
## Obsidian LiveSync Notes
|
||||||
|
CouchDB provides sync backend for Obsidian LiveSync between iPhone and Bluefin.
|
||||||
|
Accessible at `obsidian.rishighan.com` via NPM proxy → `192.168.1.75:5984`.
|
||||||
|
|
||||||
|
Admin UI at `https://obsidian.rishighan.com/_utils`.
|
||||||
|
|
||||||
## Plane Notes
|
## Plane Notes
|
||||||
|
|
||||||
Plane requires specific env variables. Run with:
|
Plane requires specific env variables. Run with:
|
||||||
```bash
|
```bash
|
||||||
cd /mnt/user/data/flook-stacks/stacks/plane
|
cd /mnt/user/data/flook-stacks/stacks/plane
|
||||||
docker compose --env-file plane.env up -d
|
docker compose --env-file plane.env up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
Key env settings:
|
Key env settings:
|
||||||
- `APP_DOMAIN=plane.rishighan.com`
|
- `APP_DOMAIN=plane.rishighan.com`
|
||||||
- `LISTEN_HTTP_PORT=8082`
|
- `LISTEN_HTTP_PORT=8082`
|
||||||
@@ -49,7 +59,6 @@ Key env settings:
|
|||||||
- `CERT_EMAIL=email admin@rishighan.com`
|
- `CERT_EMAIL=email admin@rishighan.com`
|
||||||
|
|
||||||
## Seafile Notes
|
## Seafile Notes
|
||||||
|
|
||||||
Seafile uses multiple compose files and cannot be deployed via Portainer git stack. Deploy from command line:
|
Seafile uses multiple compose files and cannot be deployed via Portainer git stack. Deploy from command line:
|
||||||
```bash
|
```bash
|
||||||
cd /mnt/user/appdata/seafile
|
cd /mnt/user/appdata/seafile
|
||||||
|
|||||||
@@ -829,10 +829,10 @@ item({
|
|||||||
};
|
};
|
||||||
["key"] = "current";
|
["key"] = "current";
|
||||||
["with"] = "rishi@rishighan.com";
|
["with"] = "rishi@rishighan.com";
|
||||||
["when"] = 1771875608;
|
["when"] = 1771876138;
|
||||||
["attr"] = {
|
["attr"] = {
|
||||||
["xmlns"] = "eu.siacs.conversations.axolotl";
|
["xmlns"] = "eu.siacs.conversations.axolotl";
|
||||||
["stamp"] = "2026-02-23T19:40:08Z";
|
["stamp"] = "2026-02-23T19:48:58Z";
|
||||||
};
|
};
|
||||||
["name"] = "bundle";
|
["name"] = "bundle";
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,18 +1,26 @@
|
|||||||
return {
|
return {
|
||||||
["0cWucYOGhstU"] = {
|
["OIzr2NPeeqzY"] = {
|
||||||
["h"] = 9;
|
|
||||||
["t"] = 1771870042;
|
|
||||||
};
|
|
||||||
["MWGJoKJ8afbq"] = {
|
|
||||||
["t"] = 1771870042;
|
|
||||||
["h"] = 16;
|
["h"] = 16;
|
||||||
};
|
["t"] = 1771876261;
|
||||||
["1GR5KtfI-9r2"] = {
|
|
||||||
["t"] = 1771871728;
|
|
||||||
["h"] = 17;
|
|
||||||
};
|
};
|
||||||
["eE7Vk5w6zfJk"] = {
|
["eE7Vk5w6zfJk"] = {
|
||||||
["t"] = 1771856814;
|
["t"] = 1771856814;
|
||||||
["h"] = 52;
|
["h"] = 52;
|
||||||
};
|
};
|
||||||
|
["0cWucYOGhstU"] = {
|
||||||
|
["h"] = 9;
|
||||||
|
["t"] = 1771870042;
|
||||||
|
};
|
||||||
|
["wT6Iu7TR_Jb8"] = {
|
||||||
|
["h"] = 19;
|
||||||
|
["t"] = 1771876261;
|
||||||
|
};
|
||||||
|
["1GR5KtfI-9r2"] = {
|
||||||
|
["t"] = 1771871728;
|
||||||
|
["h"] = 17;
|
||||||
|
};
|
||||||
|
["MWGJoKJ8afbq"] = {
|
||||||
|
["t"] = 1771870042;
|
||||||
|
["h"] = 16;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -14,36 +14,6 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /mnt/user/appdata/vaultwarden:/data
|
- /mnt/user/appdata/vaultwarden:/data
|
||||||
|
|
||||||
memos:
|
|
||||||
image: neosmemo/memos:0.26.1
|
|
||||||
container_name: memos
|
|
||||||
restart: unless-stopped
|
|
||||||
ports:
|
|
||||||
- 5230:5230
|
|
||||||
environment:
|
|
||||||
- TZ=UTC
|
|
||||||
- MEMOS_MODE=prod
|
|
||||||
- MEMOS_PORT=5230
|
|
||||||
volumes:
|
|
||||||
- /mnt/user/appdata/memos:/var/opt/memos
|
|
||||||
healthcheck:
|
|
||||||
test: wget --quiet --tries=1 --spider http://localhost:5230 || exit 1
|
|
||||||
start_period: 1m
|
|
||||||
start_interval: 10s
|
|
||||||
interval: 1m
|
|
||||||
timeout: 5s
|
|
||||||
retries: 3
|
|
||||||
|
|
||||||
mortis:
|
|
||||||
image: ghcr.io/mudkipme/mortis:0.26.1
|
|
||||||
container_name: mortis
|
|
||||||
restart: unless-stopped
|
|
||||||
ports:
|
|
||||||
- 5231:5231
|
|
||||||
command: ["-grpc-addr=memos:5230"]
|
|
||||||
depends_on:
|
|
||||||
- memos
|
|
||||||
|
|
||||||
freshrss:
|
freshrss:
|
||||||
image: lscr.io/linuxserver/freshrss:latest
|
image: lscr.io/linuxserver/freshrss:latest
|
||||||
container_name: freshrss
|
container_name: freshrss
|
||||||
|
|||||||
Reference in New Issue
Block a user