Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[docker] Question about migrating desktop instance to Docker instance. #1135

Open
imsorrywhat opened this issue Feb 7, 2025 · 3 comments
Open
Labels
bug Something isn't working

Comments

@imsorrywhat
Copy link

imsorrywhat commented Feb 7, 2025

I started Libation on macOS then saw there's an unsupported docker option. I did not finish downloading to leave some for testing with docker.

I'd prefer to run this in docker so I don't have to rely on manually opening Libation on an endpoint and have a question.

  1. If I copy AccountsSettings.json, Settings.json, and LibationContext.db to the respective volumes, is this all that is needed to "resume" downloading from the stopping point on the macOS endpoint?

The goal is to avoid redownloading from the start again and potentially creating duplicates and having to deal with cleanup.

If it helps, below is my docker compose draft:

services:
  libation:
    container_name: libation
    restart: unless-stopped
    image: rmcrackan/libation:latest
    user: 1000:1000
    volumes:
      - /opt/docker/config/libation:/config
      - /opt/docker/config/libation/db:/db
      - /mnt/Audiobooks:/data
    environment:
      - SLEEP_TIME=12h #Length of time to sleep before doing another scan/download. Set to -1 to run one.
      - LIBATION_BOOKS_DIR=/data #Folder where books will be saved
      - LIBATION_DB_DIR=/db  #Optional folder to load database from. If not mounted, will load database from LIBATION_CONFIG_DIR.
      - LIBATION_DB_FILE=LibationContext.db #Name of database file to load. By default it will look for all .db files and load one if there is only one present.
@imsorrywhat imsorrywhat added the bug Something isn't working label Feb 7, 2025
@wtanksleyjr
Copy link
Contributor

wtanksleyjr commented Feb 7, 2025 via email

@imsorrywhat
Copy link
Author

Thank you, worked perfectly minus a typo on my end.

A couple of follow up questions:

  1. The Breaking Changes for Docker mention InProgress value in Settings.json. Mine doesn't have a InProgress value, not that it matters since it's ignored anyway, but per the container logs there is a /tmp directory being used. Does it need to be a volume mount or is container-side sufficient? It seems to be working just fine as is but wanted to confirm. Logs below for reference.
2025-02-08 00:27:35 info: initializing libation
2025-02-08 00:27:35 info: loading AccountsSettings.json
2025-02-08 00:27:35 info: loading Settings.json
2025-02-08 00:27:35 info: loading settings
2025-02-08 00:27:35 info: setting Books to /data
2025-02-08 00:27:35 info: setting InProgress to /tmp
2025-02-08 00:27:35 info: loading database
2025-02-08 00:27:35 info: database found at /db/LibationContext.db
2025-02-08 00:27:35 info: running every '12h'
2025-02-08 00:27:35 info: scanning accounts
Scanning Audible library. This may take a few minutes.
Scan complete.
Total processed: 412
New: 0
2025-02-08 00:27:40 info: liberating books
...
  1. How can we get a compose sample added to the Docker doc page?

@rmcrackan
Copy link
Owner

  1. How can we get a compose sample added to the Docker doc page?

If you know how to do PRs, you're also welcome to submit one directly. If that sentence made no sense to you or if you're not comfortable doing PRs: After this issue is resolved, finish by "at"-ing me in your last message here, and lemme know what to put on that doc page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants