[GH-ISSUE #1042] Question: How to add URLs in Command Line on macOS? (the input device is not a TTY error) #652

Closed
opened 2026-03-01 14:45:18 +03:00 by kerem · 5 comments
Owner

Originally created by @VanillaChief on GitHub (Nov 8, 2022).
Original GitHub issue: https://github.com/ArchiveBox/ArchiveBox/issues/1042

I have archivebox running on my Mac with docker-compose. Everything is working so far, I can add URLs via the web GUI.

But when I try for example to ingest a textfile with URLs via the commandline, I always get "the input device is not a TTY".

The documentation is a bit sparse on that point, as it just says: "pass in URLs via stdin." I don't really understand what is meant by that. When I copy docker-compose run archivebox add < ~/Downloads/bookmarks.html (and change the path of course) I always get "the input device is not a TTY"

What do I need to do to be able to ingest URLs in the command line?

Originally created by @VanillaChief on GitHub (Nov 8, 2022). Original GitHub issue: https://github.com/ArchiveBox/ArchiveBox/issues/1042 I have archivebox running on my Mac with docker-compose. Everything is working so far, I can add URLs via the web GUI. But when I try for example to ingest a textfile with URLs via the commandline, I always get "the input device is not a TTY". The documentation is a bit sparse on that point, as it just says: "pass in URLs via stdin." I don't really understand what is meant by that. When I copy `docker-compose run archivebox add < ~/Downloads/bookmarks.html` (and change the path of course) I always get "the input device is not a TTY" What do I need to do to be able to ingest URLs in the command line?
kerem closed this issue 2026-03-01 14:45:18 +03:00
Author
Owner

@pirate commented on GitHub (Nov 9, 2022):

Please post your docker-compose.yml file and the output of docker-compose run archivebox version.

<!-- gh-comment-id:1308864553 --> @pirate commented on GitHub (Nov 9, 2022): Please post your `docker-compose.yml` file and the output of `docker-compose run archivebox version`.
Author
Owner

@pirate commented on GitHub (Jan 19, 2024):

Closing as stale.

<!-- gh-comment-id:1899649054 --> @pirate commented on GitHub (Jan 19, 2024): Closing as stale.
Author
Owner

@dohlin commented on GitHub (Aug 23, 2024):

@pirate Is there any chance you can explain what this error means? I too am getting this error, although it's on a fresh install of Ubuntu 24.04, v0.7.2. I thought everything was working, but passing in my Firefox .json export it doesn't like:

image

Here is my docker compose run archivebox version info:

image

On my old server, I used "docker-compose" and it did work...but "docker compose" doesn't seem to want to play ball. I will admit, I get pretty confused as the doc seems to flop back and forth between "docker compose" and "docker-compose" which from the tiny bit of reading I've done 'docker compose' seems like it's the newer/better option nowadays, so that's all I've installed on this new server I'm trying to spin up (if I try to run "docker-compose" I get the normal message telling me it's not installed). Do I absolutely need to install this alongside docker-compose and memorize which commands need the dash vs which ones don't? Or is there a way to make "docker compose" work for this task? Sorry if I'm missing something obvious here.

EDIT: I had tried adding -i, -it, -t, etc. to my run command, but I hadn't done capital -T in the right place per the instructions. Doing that seems to have fixed my issue. Thanks!!

<!-- gh-comment-id:2307583470 --> @dohlin commented on GitHub (Aug 23, 2024): @pirate Is there any chance you can explain what this error means? I too am getting this error, although it's on a fresh install of Ubuntu 24.04, v0.7.2. I thought everything was working, but passing in my Firefox .json export it doesn't like: ![image](https://github.com/user-attachments/assets/9c090863-dad3-4151-b945-ddc5639321a6) Here is my docker compose run archivebox version info: ![image](https://github.com/user-attachments/assets/2184237f-9674-4c54-b8a2-bd3e7212bea6) On my old server, I used "docker-compose" and it did work...but "docker compose" doesn't seem to want to play ball. I will admit, I get pretty confused as the doc seems to flop back and forth between "docker compose" and "docker-compose" which from the tiny bit of reading I've done 'docker compose' seems like it's the newer/better option nowadays, so that's all I've installed on this new server I'm trying to spin up (if I try to run "docker-compose" I get the normal message telling me it's not installed). Do I absolutely need to install this alongside docker-compose and memorize which commands need the dash vs which ones don't? Or is there a way to make "docker compose" work for this task? Sorry if I'm missing something obvious here. EDIT: I had tried adding -i, -it, -t, etc. to my run command, but I hadn't done capital -T in the right place per the instructions. Doing that seems to have fixed my issue. Thanks!!
Author
Owner

@pirate commented on GitHub (Aug 31, 2024):

docker-compose used to be a separate package but they merged it into docker, so as of ~2022 you should only run docker compose

As for the -T / -it stuff I agree it is a confusing common issue for new docker users. Basically the only thing to remember is:

  • docker run ... sometimes needs -it
  • docker compose run ... sometimes needs -T

(Never the other way around)

The flags tell the docker daemon whether to expect interactive input on stdin, a pipe, or something else, and the default is different between plain docker and compose, hence the different args to change the default.

Hope that helps!

<!-- gh-comment-id:2322949017 --> @pirate commented on GitHub (Aug 31, 2024): `docker-compose` used to be a separate package but they merged it into docker, so as of ~2022 you should only run `docker compose` As for the -T / -it stuff I agree it is a confusing common issue for new docker users. Basically the only thing to remember is: - `docker run ...` sometimes needs `-it` - `docker compose run ...` sometimes needs `-T` (Never the other way around) The flags tell the docker daemon whether to expect interactive input on stdin, a pipe, or something else, and the default is different between plain docker and compose, hence the different args to change the default. Hope that helps!
Author
Owner

@dohlin commented on GitHub (Aug 31, 2024):

docker-compose used to be a separate package but they merged it into docker, so as of ~2022 you should only run docker compose

As for the -T / -it stuff I agree it is a confusing common issue for new docker users. Basically the only thing to remember is:

* `docker run ...` sometimes needs `-it`

* `docker compose run ...` sometimes needs `-T`

(Never the other way around)

Basically the flags tell the docker daemon whether to expect interactive input on stdin, a pipe, or something else, and the default is different between plain docker and compose, hence the different args to change the default.

Hope that helps!

Appreciate the crash course, definitely helps out!!

<!-- gh-comment-id:2323075575 --> @dohlin commented on GitHub (Aug 31, 2024): > `docker-compose` used to be a separate package but they merged it into docker, so as of ~2022 you should only run `docker compose` > > As for the -T / -it stuff I agree it is a confusing common issue for new docker users. Basically the only thing to remember is: > > * `docker run ...` sometimes needs `-it` > > * `docker compose run ...` sometimes needs `-T` > > > (Never the other way around) > > Basically the flags tell the docker daemon whether to expect interactive input on stdin, a pipe, or something else, and the default is different between plain docker and compose, hence the different args to change the default. > > Hope that helps! Appreciate the crash course, definitely helps out!!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ArchiveBox#652
No description provided.