# Dalidou Deployment ## Purpose Deploy AtoCore on Dalidou as the canonical runtime and machine-memory host. ## Model - Dalidou hosts the canonical AtoCore service. - OpenClaw on the T420 consumes AtoCore over network/Tailscale API. - `sources/vault` and `sources/drive` are read-only inputs by convention. - SQLite/Chroma machine state stays on Dalidou and is not treated as a sync peer. - The app and machine-storage host can be live before the long-term content corpus is fully populated. ## Directory layout ```text /srv/storage/atocore/ app/ # deployed repo checkout data/ db/ chroma/ cache/ tmp/ sources/ vault/ drive/ logs/ backups/ run/ ``` ## Compose workflow The compose definition lives in: ```text deploy/dalidou/docker-compose.yml ``` The Dalidou environment file should be copied to: ```text deploy/dalidou/.env ``` starting from: ```text deploy/dalidou/.env.example ``` ## Deployment steps 1. Place the repository under `/srv/storage/atocore/app`. 2. Create the canonical directories listed above. 3. Copy `deploy/dalidou/.env.example` to `deploy/dalidou/.env`. 4. Adjust the source paths if your AtoVault/AtoDrive mirrors live elsewhere. 5. Run: ```bash cd /srv/storage/atocore/app/deploy/dalidou docker compose up -d --build ``` 6. Validate: ```bash curl http://127.0.0.1:8100/health curl http://127.0.0.1:8100/sources ``` ## Deferred - backup automation - restore/snapshot tooling - reverse proxy / TLS exposure - automated source ingestion job - OpenClaw client wiring ## Current Reality Check When this deployment is first brought up, the service may be healthy before the real corpus has been ingested. That means: - AtoCore the system can already be hosted on Dalidou - the canonical machine-data location can already be on Dalidou - but the live knowledge/content corpus may still be empty or only partially loaded until source ingestion is run