Skip to content

Synchronization Issues with ARM64 Docker Deployment - Reading Progress and Statistics Not Syncing Correctly #30

@dengxuezhao

Description

@dengxuezhao

Description:

I seem to have encountered a bug with my ARM64-based Docker deployment. While the service reports successful synchronization for both reading progress and statistics, the data doesn't actually propagate across devices.

Symptoms:

  1. Reading Progress Sync:
    Upload shows "success" status
    Other devices fail to retrieve progress with error: "Document information not found"
    Sync logs show successful GET/PUT operations but no data transfer
  2. Reading Statistics Sync:
    System reports "sync successful"
    No corresponding data appears in today's timeline
    Logs show repeated 404 errors for statistics.sqlite3 before PUT operations

Log Excerpts:

# Reading Statistics Log
[GIN] 2025/05/20 - 22:35:45 | 404 | 320ns | 146.190.145.53 | GET "/webdav/statistics.sqlite3"
[GIN] 2025/05/20 - 22:35:47 | 201 | 1.328696847s | 146.190.145.53 | PUT "/webdav/statistics.sqlite3"
Syncing pages... Max start time: 1747748273 Upserted page stat data for 39bf436395b0969a140a6f3e4977b3c7 page 0

# Progress Sync Log
[GIN] 2025/05/20 - 22:39:24 | 200 | 1.097085ms | 112.193.141.88 | GET "/syncs/progress/e0a641c1792f06b47a30db1a7ec8b7d5"

Environment:

Architecture: ARM64
Deployment: Docker Compose
Image: submartingaie/kompanion:latest
docker-compose.yml:

version: '3'
services:
  postgres:
    image: postgres:16
    container_name: ko-postgres
    restart: unless-stopped
    volumes:
      - ./pgdata:/var/lib/postgresql/data
    environment:
      POSTGRES_USER: 'user'
      POSTGRES_PASSWORD: 'asf'
      POSTGRES_DB: 'postgres'
  app:
    image: submartingaie/kompanion:latest
    container_name: ko-web
    restart: unless-stopped
    user: 1001:1001
    ports:
      - 8322:8080
    volumes:
     - ./data:/data
    environment:
      KOMPANION_PG_URL: 'postgres://user:asf@postgres:5432/postgres'
      KOMPANION_AUTH_USERNAME: 'user'
      KOMPANION_AUTH_PASSWORD: 'asfasf'
      KOMPANION_BSTORAGE_PATH: '/data/books'
    depends_on:
      - postgres

Reproduction Steps:

Deploy using the provided compose file on ARM64
Sync reading progress between devices
Observe successful upload but failed retrieval
Check statistics timeline for missing data

Expected Behavior:

Progress should be retrievable across devices
Statistics should appear in timeline after sync

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions