Files
Synculous-2/docker-compose.yml
chelsea 2951382c51 Fix auth persistence: web client session timeout + bot cache loss
Web client: trustDevice now defaults to true so a refresh token is always
issued on login, preventing deauth after the 1-hour access token expiry.
Users can still uncheck the box on shared devices.

Bot: cache file path is now env-configurable (BOT_CACHE_FILE) and
defaults to /app/cache/user_cache.pkl. Docker Compose mounts a named
volume at /app/cache so the session cache survives container restarts.
saveCache() now creates the directory if it doesn't exist.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-19 16:32:07 -06:00

62 lines
1.3 KiB
YAML

services:
db:
image: postgres:16
environment:
POSTGRES_DB: app
POSTGRES_USER: app
POSTGRES_PASSWORD: ${DB_PASS}
ports:
- "5432:5432"
volumes:
- pgdata:/var/lib/postgresql/data
- ./config/schema.sql:/docker-entrypoint-initdb.d/schema.sql
- ./config/seed_templates.sql:/docker-entrypoint-initdb.d/seed_templates.sql
- ./config/seed_rewards.sql:/docker-entrypoint-initdb.d/seed_rewards.sql
healthcheck:
test: ["CMD-SHELL", "pg_isready -U app"]
interval: 5s
timeout: 5s
retries: 5
app:
build: .
ports:
- "8010:5000"
env_file: config/.env
depends_on:
db:
condition: service_healthy
scheduler:
build: .
command: ["python", "-m", "scheduler.daemon"]
env_file: config/.env
depends_on:
db:
condition: service_healthy
bot:
build: .
command: ["python", "-m", "bot.bot"]
env_file: config/.env
depends_on:
app:
condition: service_started
volumes:
- botcache:/app/cache
client:
build:
context: ./synculous-client
dockerfile: Dockerfile
ports:
- "3001:3000"
environment:
- NEXT_PUBLIC_API_URL=http://app:5000
depends_on:
- app
volumes:
pgdata:
botcache: