heather: enable teable stack (teable.iscg.dev)
app + postgres:15 + redis. Данные перенесены с iscg-dev (2026-07-12): - postgres восстановлен из pg_dump (18M) с новым паролем - .assets (3.2G, 4392 файлов) в named volume heather_teable-assets - teable-data, redis пустые (наполнятся при старте) Секреты (POSTGRES_PASSWORD, SECRET_KEY, PRISMA_DATABASE_URL) новые, в pass iscg.dev/teable/. env-файл /var/lib/teable-secrets/teable.env на heather (вне git, root:docker 0640).
This commit is contained in:
parent
260a6c64bf
commit
3e3241683f
1 changed files with 43 additions and 24 deletions
|
|
@ -33,6 +33,7 @@
|
||||||
teable-data = {};
|
teable-data = {};
|
||||||
teable-db = {};
|
teable-db = {};
|
||||||
teable-redis = {};
|
teable-redis = {};
|
||||||
|
teable-assets = {};
|
||||||
# jitsi-стек (когда добавим):
|
# jitsi-стек (когда добавим):
|
||||||
# jitsi-prosody-config = {};
|
# jitsi-prosody-config = {};
|
||||||
# jitsi-jvb-config = {};
|
# jitsi-jvb-config = {};
|
||||||
|
|
@ -91,30 +92,48 @@
|
||||||
# или секцией после forgejo.
|
# или секцией после forgejo.
|
||||||
|
|
||||||
# === Teable (teable.iscg.dev) ===
|
# === Teable (teable.iscg.dev) ===
|
||||||
# Тяжёлый стек: app + postgres + redis. Добавить после forgejo.
|
# Стек: app + postgres + redis. Данные перенесены с iscg-dev (2026-07-12):
|
||||||
#
|
# - postgres восстановлен из pg_dump (18M, consistent, без остановки источника)
|
||||||
# teable = {
|
# - .assets (3.2G, 4392 файлов) в named volume heather_teable-assets
|
||||||
# service.image = "teableio/teable:latest";
|
# - teable-data (local-storage) пустой — наполняется при работе
|
||||||
# service.container_name = "teable";
|
# - redis пустой — кэш, перестраивается
|
||||||
# service.restart = "unless-stopped";
|
# Секреты (POSTGRES_PASSWORD, SECRET_KEY) новые, в pass iscg.dev/teable/.
|
||||||
# service.ports = [ "127.0.0.1:2345:3000" ];
|
# НЕ пушить env-файл в forgejo — secrets.
|
||||||
# service.volumes = [ "teable-data:/app/data" ];
|
teable = {
|
||||||
# service.depends_on = [ "teable-db" "teable-redis" ];
|
service.image = "teableio/teable:latest";
|
||||||
# # TODO: env (DATABASE_URL, REDIS_URL, SECRET_KEY, PUBLIC_ORIGIN, ...)
|
service.container_name = "teable";
|
||||||
# };
|
service.restart = "unless-stopped";
|
||||||
# teable-db = {
|
service.ports = [ "127.0.0.1:2345:3000" ];
|
||||||
# service.image = "postgres:15-alpine";
|
service.volumes = [
|
||||||
# service.container_name = "teable-db";
|
"teable-data:/app/.local-storage"
|
||||||
# service.restart = "unless-stopped";
|
"teable-assets:/app/.assets"
|
||||||
# service.volumes = [ "teable-db:/var/lib/postgresql/data" ];
|
];
|
||||||
# # TODO: POSTGRES_PASSWORD (sops)
|
service.depends_on = [ "teable-db" "teable-redis" ];
|
||||||
# };
|
service.env_file = [ "/var/lib/teable-secrets/teable.env" ];
|
||||||
# teable-redis = {
|
service.environment = {
|
||||||
# service.image = "redis:alpine";
|
POSTGRES_HOST = "teable-db";
|
||||||
# service.container_name = "teable-redis";
|
POSTGRES_PORT = "5432";
|
||||||
# service.restart = "unless-stopped";
|
POSTGRES_DB = "teable";
|
||||||
# service.volumes = [ "teable-redis:/data" ];
|
POSTGRES_USER = "teable";
|
||||||
# };
|
REDIS_URL = "redis://teable-redis:6379";
|
||||||
|
PUBLIC_DOMAIN = "teable.iscg.dev";
|
||||||
|
PUBLIC_ORIGIN = "https://teable.iscg.dev";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
teable-db = {
|
||||||
|
service.image = "postgres:15-alpine";
|
||||||
|
service.container_name = "teable-db";
|
||||||
|
service.restart = "unless-stopped";
|
||||||
|
service.volumes = [ "teable-db:/var/lib/postgresql/data" ];
|
||||||
|
service.env_file = [ "/var/lib/teable-secrets/teable.env" ];
|
||||||
|
};
|
||||||
|
teable-redis = {
|
||||||
|
service.image = "redis:alpine";
|
||||||
|
service.container_name = "teable-redis";
|
||||||
|
service.restart = "unless-stopped";
|
||||||
|
service.command = "redis-server --appendonly yes";
|
||||||
|
service.volumes = [ "teable-redis:/data" ];
|
||||||
|
};
|
||||||
|
|
||||||
# === Silverbullet (note.iscg.dev) — ИСКЛЮЧЕНИЕ: bind mount ===
|
# === Silverbullet (note.iscg.dev) — ИСКЛЮЧЕНИЕ: bind mount ===
|
||||||
# Space = /srv/syncthing/herbarium (sync'ается syncthing на устройства).
|
# Space = /srv/syncthing/herbarium (sync'ается syncthing на устройства).
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue