4.1 KiB
4.1 KiB
TASK PHASE — DOCKER COMPOSE FIX FOR CITY-SERVICE & POSTGRES
Version: 1.0
Target: NODE1 (production host)
1. Мета
Привести docker-compose до стану, де:
dagi-postgresвикористовує існуючий прод-томmicrodao-daarion_postgres_data;daarion-city-serviceзапускається як частина compose-стека (без ручнихdocker run);- перезапуск окремих сервісів не створює “порожні” БД та не ламає production-дані.
2. Поточний стан
- Postgres вручну запущений із томом
microdao-daarion_postgres_data. daarion-city-serviceстартує окремимdocker runз ENV:DATABASE_URL=postgresql://postgres:postgres@dagi-postgres:5432/daarionMATRIX_GATEWAY_URL=http://gateway:9300NATS_URL=nats://dagi-nats:4222
- UI знову показує агенти/мікроDAO/ноди, але схему запуску треба зафіксувати в compose.
3. Завдання
3.1. Оновити docker-compose для Postgres
- Знайти сервіс
dagi-postgresта переконатися, що він використовує правильний образ (14 або 15) і запускається на мережіdagi-network. - Прив’язати його до прод-даних:
services: dagi-postgres: image: postgres:15-alpine volumes: - microdao-daarion_postgres_data:/var/lib/postgresql/data environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: daarion volumes: microdao-daarion_postgres_data: external: true - Якщо том ще не оголошений як
external, додати це внизу compose-файла.
3.2. Оновити docker-compose для daarion-city-service
- Додати/оновити сервіс:
daarion-city-service: image: daarion-city-service:latest # або конкретний тег depends_on: - dagi-postgres - dagi-nats - gateway environment: DATABASE_URL: postgresql://postgres:postgres@dagi-postgres:5432/daarion MATRIX_GATEWAY_URL: http://gateway:9300 NATS_URL: nats://dagi-nats:4222 ports: - "7001:7001" networks: - dagi-network - Видалити тимчасовий контейнер, який стартував через
docker run, після того як compose-версія стабільно працює.
3.3. Документація / запуск без перезапуску всієї інфри
- Описати в README/DEPLOY-нотах:
Так не будуть стартувати всі інші сервіси (router, gateway, тощо).
docker compose up -d dagi-postgres docker compose up -d daarion-city-service --no-deps - Додати застереження не запускати
docker compose upбез списку сервісів на production, щоб не з’являлися нові “порожні” контейнери.
3.4. Перевірка після оновлення
docker ps→ бачимоdagi-postgres+daarion-city-service(compose-контейнери).curl https://daarion.space/api/nodes/listта.../node-1-hetzner-gex44повертають дані.- UI
/nodes,/agents,/microdaoпрацюють після повного перезапуску обох сервісів.
4. Критерії завершення
- Postgres і City-service запускаються тільки через
docker compose. - Використовується саме том
microdao-daarion_postgres_data(жодних нових томів). - Після
docker compose up -d dagi-postgres && docker compose up -d daarion-city-service --no-depsусі прод-дані залишаються на місці. - Документація містить оновлені інструкції з перезапуску.