Error: could not load server settings (docker self-host)

Hi all,

I’m starting to play with sync and self hosting on a raspi. Using the docker image and the example compose from the docs, I’m not having much luck:

Error Messages
Error: could not load server settings

Caused by:
    Permission denied (os error 13)

Location:
    /app/atuin-server/src/settings.rs:93:22
Error: could not load server settings

Caused by:
    Permission denied (os error 13)

Location:
    /app/atuin-server/src/settings.rs:93:22
Error: could not load server settings

Caused by:
   0: failed to create file `/config/server.toml`
   1: No such file or directory (os error 2)

Location:
    /app/atuin-server/src/settings.rs:87:28
Error: could not load server settings

Caused by:
   0: failed to create file `/config/server.toml`
   1: Permission denied (os error 13)

Location:
    /app/atuin-server/src/settings.rs:87:28
Error: could not load server settings

Caused by:
   0: failed to create file `/config/server.toml`
   1: Permission denied (os error 13)

Location:
    /app/atuin-server/src/settings.rs:87:28
Error: could not load server settings

Caused by:
   0: failed to create file `/config/server.toml`
   1: Permission denied (os error 13)

Location:
    /app/atuin-server/src/settings.rs:87:28

And the docker compose I’m using:

Docker compose
version: '3.5'
services:
  atuin:
    restart: always
    image: ghcr.io/atuinsh/atuin:v18.0.1
    command: server start
    volumes:
      - "./config:/config"
    links:
      - postgresql:db
    ports:
      - 8888:8888
    environment:
      ATUIN_HOST: "0.0.0.0"
      ATUIN_OPEN_REGISTRATION: "true"
      ATUIN_DB_URI: postgres://$ATUIN_DB_USERNAME:$ATUIN_DB_PASSWORD@db/atuin
      RUST_LOG: info,atuin_server=debug
  postgresql:
    image: postgres:14
    restart: unless-stopped
    volumes: # Don't remove permanent storage for index database files!
      - "./database:/var/lib/postgresql/data/"
    environment:
      POSTGRES_USER: ${ATUIN_DB_USERNAME}
      POSTGRES_PASSWORD: ${ATUIN_DB_PASSWORD}
      POSTGRES_DB: ${ATUIN_DB_NAME}
  backup:
    container_name: atuin_db_dumper
    image: prodrigestivill/postgres-backup-local
    env_file:
      - .env
    environment:
      POSTGRES_HOST: postgresql
      POSTGRES_DB: ${ATUIN_DB_NAME}
      POSTGRES_USER: ${ATUIN_DB_USERNAME}
      POSTGRES_PASSWORD: ${ATUIN_DB_PASSWORD}
      SCHEDULE: "@daily"
      BACKUP_DIR: /db_dumps
    volumes:
      - ./db_dumps:/db_dumps
    depends_on:
      - postgresql

My user’s in Docker group:
CleanShot 2024-02-19 at 15.48.58@2x

And here’s the directory contents:

I’m assuming that this is pebkac, but not sure where :woozy_face: so any help is appreciated!

Environment details

OS: Ubuntu 22.04
Atuin Version: v18.0.1
Platform: Docker

Hey! I imagine this is a UID error

We build the container to use the uid/gid 1000:1000

If you add this to the docker-compose, you can set the id of the container to match that of your user

user: "YOUR UID:YOUR GID"

You can find the values for that by running id

(for anyone running docker directly, this corresponds to the --user arg)

AH! That did it! Thanks @Ellie :smiley:

1 Like