Atuin history not syncing accross PCs even when logged into server as same user with same key

server OS: Talos Linux
client OS: Ubuntu WSL
shell: Fish 3.7.1

I am running self-hosted atuin on kubernetes (source here)
I have two PCs, both are logged in as the same user, and both have the same encryption key set up. The only change I’ve made to the config.toml is to set the sync server to https://atuin.domain.tld. Is there a way to get them to share history with each other? when I run atuin sync it works on both PCs just fine, but they both show different numbers of entries, and up arrow search does not bring up entries from the other PC.

Is there a setting I’m missing that I need to set on the server?

Any help would be greatly appreciated. Please let me know if there’s any additional info I can provide.

Not sure where the log file is stored, but this is the full debug output of the server logs when I run atuin sync:

2024-05-14T13:49:54.305045Z  INFO sqlx::postgres::notice: relation "_sqlx_migrations" already exists, skipping
2024-05-14T13:50:19.139860Z DEBUG add{user.id=1}: atuin_server::handlers::history: request to add 1100 history items
2024-05-14T13:50:38.635154Z DEBUG add{user.id=1}: atuin_server::handlers::history: request to add 1100 history items 

and here’s the atuin doctor output:

atuin:
  version: 18.2.0
  sync:
    cloud: false
    records: false
    auto_sync: true
    last_sync: 2024-05-14 13:50:39.4074313 +00:00:00
shell:
  name: fish
  default: unknown
  plugins:
  - atuin
system:
  os: Ubuntu
  arch: x86_64
  version: '22.04'
  disks:
  - name: none
    filesystem: 9p
  - name: none
    filesystem: overlay
  - name: /dev/sdc
    filesystem: ext4
  - name: /dev/sdc
    filesystem: ext4
  - name: none
    filesystem: overlay
  - name: none
    filesystem: overlay
  - name: none
    filesystem: overlay
  - name: C:\134
    filesystem: 9p
  - name: E:\134
    filesystem: 9p
  - name: /dev/sdc
    filesystem: ext4
  - name: snapfuse
    filesystem: fuse.snapfuse
  - name: snapfuse
    filesystem: fuse.snapfuse
  - name: snapfuse
    filesystem: fuse.snapfuse
  - name: snapfuse
    filesystem: fuse.snapfuse
  - name: snapfuse
    filesystem: fuse.snapfuse
  - name: snapfuse
    filesystem: fuse.snapfuse
  - name: snapfuse
    filesystem: fuse.snapfuse
  - name: snapfuse
    filesystem: fuse.snapfuse
  - name: snapfuse
    filesystem: fuse.snapfuse
  - name: snapfuse
    filesystem: fuse.snapfuse

Also here’s the server.toml that atuin generated:

## host to bind, can also be passed via CLI args
# host = "127.0.0.1"

## port to bind, can also be passed via CLI args
# port = 8888

## whether to allow anyone to register an account
# open_registration = false

## URI for postgres (using development creds here)
# db_uri="postgres://username:password@localhost/atuin"

## Maximum size for one history entry
# max_history_length = 8192

## Maximum size for one record entry
## 1024 * 1024 * 1024
# max_record_size = 1073741824

## Webhook to be called when user registers on the servers
# register_webhook_username = ""

## Default page size for requests
# page_size = 1100

# [metrics]
# enable = false
# host = 127.0.0.1
# port = 9001

# [tls]
# enable = false
# cert_path = ""
# pkey_path = ""

I think that’s okay since it’s being overwritten by env vars?

Could you share the doctor output for all machines you are trying to sync?

Sorry, should have thought of that. Here’s the output of atuin doctor from my other PC:

❯ atuin doctor
Atuin Doctor
Checking for diagnostics


Please include the output below with any bug reports or issues

atuin:
  version: 18.2.0
  sync:
    cloud: false
    records: false
    auto_sync: true
    last_sync: 2024-05-13 21:27:01.12947049 +00:00:00
shell:
  name: fish
  default: unknown
  plugins:
  - atuin
system:
  os: Ubuntu
  arch: x86_64
  version: '22.04'
  disks:
  - name: none
    filesystem: 9p
  - name: none
    filesystem: overlay
  - name: /dev/sdc
    filesystem: ext4
  - name: /dev/sdc
    filesystem: ext4
  - name: none
    filesystem: overlay
  - name: none
    filesystem: overlay
  - name: none
    filesystem: overlay
  - name: C:\134
    filesystem: 9p
  - name: /dev/sdc
    filesystem: ext4
  - name: snapfuse
    filesystem: fuse.snapfuse
  - name: snapfuse
    filesystem: fuse.snapfuse
  - name: snapfuse
    filesystem: fuse.snapfuse
  - name: snapfuse
    filesystem: fuse.snapfuse
  - name: snapfuse
    filesystem: fuse.snapfuse
  - name: snapfuse
    filesystem: fuse.snapfuse
  - name: snapfuse
    filesystem: fuse.snapfuse
  - name: snapfuse
    filesystem: fuse.snapfuse

Could you put

[sync]
records = true

at the bottom of your config files on all machines please?

Then run atuin sync and lmk if you’re still having issues

Sorry for the delayed reply, but this appears to be working, thanks!

1 Like

no worries, glad it’s sorted!