[GH-ISSUE #1644] Bug: Archivebox install via portainer, seems running without errors (all containers) but webUI doesnt load #2495

Closed
opened 2026-03-01 17:59:26 +03:00 by kerem · 4 comments
Owner

Originally created by @nzbtuxnews on GitHub (Jan 29, 2025).
Original GitHub issue: https://github.com/ArchiveBox/ArchiveBox/issues/1644

Originally assigned to: @pirate on GitHub.

Provide a screenshot and describe the bug

Installed archivebox via portainer, all containers are up & running without apparent errors, but somehow when I try to access the webUI on the configured port I get a "Unable to connect" (404).

What I dont understand also is that on serverIP:8055 I get a 404 error, but on serverIP:8056 I get a web root listing with

Directory listing for /

    app/
    core/
    include/
    utils/
    vendor/
    vnc.html
    vnc_auto.html@
    vnc_lite.html

If I click on any of the last 3 links I get a NoVNC desktop of Fluxbox with nothing in it (empty desktop)....

Steps to reproduce

Install via portainer or directly via docker compose
Use yml file presented above
Wait for containers to be created and started
Try to access web page

Logs or errors

archivebox logs
[i] [2025-01-29 21:54:01] ArchiveBox v0.7.3: archivebox server --quick-init 0.0.0.0:8000
    > /data
[^] Verifying and updating existing ArchiveBox collection to v0.7.3...
----------------------------------------------------------------------
[*] Verifying archive folder structure...
    + ./archive, ./sources, ./logs...
    + ./ArchiveBox.conf...
[*] Verifying main SQL index and running any migrations needed...

scheduler logs
[i] [2025-01-29 21:43:18] ArchiveBox v0.7.3: archivebox schedule --foreground --update --every=day
    > /data
[] Scheduled new ArchiveBox cron job for user: archivebox (1 jobs are active).
  > @daily cd /data && /usr/local/bin/archivebox update >> /data/logs/schedule.log 2>&1 # archivebox_schedule
[*] Running 1 ArchiveBox jobs in foreground task scheduler...
  > update
[!] With the current cron config, ArchiveBox is estimated to run >365 times per year.
    Congrats on being an enthusiastic internet archiver! 👌
    Make sure you have enough storage space available to hold all the data.
    Using a compressed/deduped filesystem like ZFS is recommended if you plan on archiving a lot.

novnc logs
+ RUN_FLUXBOX=yes
+ RUN_XTERM=no
+ case $RUN_FLUXBOX in
+ case $RUN_XTERM in
+ rm -f /app/conf.d/xterm.conf
+ exec supervisord -c /app/supervisord.conf
2025-01-29 21:42:54,855 CRIT Supervisor is running as root.  Privileges were not dropped because no user is specified in the config file.  If you intend to run as root, you can set user=root in the config file to avoid this message.
2025-01-29 21:42:54,855 INFO Included extra file "/app/conf.d/fluxbox.conf" during parsing
2025-01-29 21:42:54,855 INFO Included extra file "/app/conf.d/websockify.conf" during parsing
2025-01-29 21:42:54,855 INFO Included extra file "/app/conf.d/x11vnc.conf" during parsing
2025-01-29 21:42:54,855 INFO Included extra file "/app/conf.d/xvfb.conf" during parsing
2025-01-29 21:42:54,862 INFO supervisord started with pid 1
2025-01-29 21:42:55,865 INFO spawned: 'fluxbox' with pid 7
2025-01-29 21:42:55,869 INFO spawned: 'websockify' with pid 8
2025-01-29 21:42:55,872 INFO spawned: 'x11vnc' with pid 9
2025-01-29 21:42:55,876 INFO spawned: 'xvfb' with pid 10
2025-01-29 21:42:56,974 INFO success: fluxbox entered RUNNING state, process has stayed up for > than 1 seconds startsecs)
2025-01-29 21:42:56,975 INFO success: websockify entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2025-01-29 21:42:56,975 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2025-01-29 21:42:56,975 INFO success: xvfb entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

sonic logs
No log line matching the '' filter

ArchiveBox Version

Docker version 26.1.3, build b72abbb
Rocky Linux 8
Portainer 2.21.5
Latest docker images

How did you install the version of ArchiveBox you are using?

Docker (or Podman/LXC/K8s/TrueNAS/Proxmox/etc)

What operating system are you running on?

Linux (Ubuntu/Debian/Arch/Alpine/etc.)

What type of drive are you using to store your ArchiveBox data?

  • some of data/ is on a local SSD or NVMe drive
  • some of data/ is on a spinning hard drive or external USB drive
  • some of data/ is on a network mount (e.g. NFS/SMB/Ceph/GlusterFS/etc.)
  • some of data/ is on a FUSE mount (e.g. SSHFS/RClone/S3/B2/Google Drive/Dropbox/etc.)

Docker Compose Configuration

services:
    archivebox:
        image: archivebox/archivebox:latest
        ports:
            - 8555:8000
        volumes:
            - /mnt/data/archivebox:/data
        environment:
            - ADMIN_USERNAME=admin
            - ADMIN_PASSWORD=***************
            - ALLOWED_HOSTS=serverIP
            - CSRF_TRUSTED_ORIGINS=http://serverIP
            - PUBLIC_INDEX=False
            - PUBLIC_SNAPSHOTS=False
            - PUBLIC_ADD_VIEW=False
            - SEARCH_BACKEND_ENGINE=sonic
            - SEARCH_BACKEND_HOST_NAME=sonic
            - SEARCH_BACKEND_PASSWORD=*******************
            - PUID=1003
            - PGID=1003

    archivebox_scheduler:
        image: archivebox/archivebox:latest
        command: schedule --foreground --update --every=day
        environment:
            - PUID=1003
            - PGID=1003
            - TIMEOUT=120
            - SEARCH_BACKEND_ENGINE=sonic
            - SEARCH_BACKEND_HOST_NAME=sonic
            - SEARCH_BACKEND_PASSWORD=******************
        volumes:
            - /mnt/data/archivebox:/data
    sonic:
        image: archivebox/sonic:latest
        expose:
            - 1491
        environment:
            - SEARCH_BACKEND_PASSWORD=****************
        volumes:
            - /mnt/data/archivebox/sonic:/var/lib/sonic/store
    novnc:
        image: theasp/novnc:latest
        environment:
            - DISPLAY_WIDTH=1920
            - DISPLAY_HEIGHT=1080
            - RUN_XTERM=no
        ports:
            - 8056:8080

ArchiveBox Configuration

See docker compose above
Originally created by @nzbtuxnews on GitHub (Jan 29, 2025). Original GitHub issue: https://github.com/ArchiveBox/ArchiveBox/issues/1644 Originally assigned to: @pirate on GitHub. ### Provide a screenshot and describe the bug Installed archivebox via portainer, all containers are up & running without apparent errors, but somehow when I try to access the webUI on the configured port I get a "Unable to connect" (404). What I dont understand also is that on serverIP:8055 I get a 404 error, but on serverIP:8056 I get a web root listing with ``` Directory listing for / app/ core/ include/ utils/ vendor/ vnc.html vnc_auto.html@ vnc_lite.html ``` If I click on any of the last 3 links I get a NoVNC desktop of Fluxbox with nothing in it (empty desktop).... ### Steps to reproduce ```markdown Install via portainer or directly via docker compose Use yml file presented above Wait for containers to be created and started Try to access web page ``` ### Logs or errors ```shell archivebox logs [i] [2025-01-29 21:54:01] ArchiveBox v0.7.3: archivebox server --quick-init 0.0.0.0:8000 > /data [^] Verifying and updating existing ArchiveBox collection to v0.7.3... ---------------------------------------------------------------------- [*] Verifying archive folder structure... + ./archive, ./sources, ./logs... + ./ArchiveBox.conf... [*] Verifying main SQL index and running any migrations needed... scheduler logs [i] [2025-01-29 21:43:18] ArchiveBox v0.7.3: archivebox schedule --foreground --update --every=day > /data [√] Scheduled new ArchiveBox cron job for user: archivebox (1 jobs are active). > @daily cd /data && /usr/local/bin/archivebox update >> /data/logs/schedule.log 2>&1 # archivebox_schedule [*] Running 1 ArchiveBox jobs in foreground task scheduler... > update [!] With the current cron config, ArchiveBox is estimated to run >365 times per year. Congrats on being an enthusiastic internet archiver! 👌 Make sure you have enough storage space available to hold all the data. Using a compressed/deduped filesystem like ZFS is recommended if you plan on archiving a lot. novnc logs + RUN_FLUXBOX=yes + RUN_XTERM=no + case $RUN_FLUXBOX in + case $RUN_XTERM in + rm -f /app/conf.d/xterm.conf + exec supervisord -c /app/supervisord.conf 2025-01-29 21:42:54,855 CRIT Supervisor is running as root. Privileges were not dropped because no user is specified in the config file. If you intend to run as root, you can set user=root in the config file to avoid this message. 2025-01-29 21:42:54,855 INFO Included extra file "/app/conf.d/fluxbox.conf" during parsing 2025-01-29 21:42:54,855 INFO Included extra file "/app/conf.d/websockify.conf" during parsing 2025-01-29 21:42:54,855 INFO Included extra file "/app/conf.d/x11vnc.conf" during parsing 2025-01-29 21:42:54,855 INFO Included extra file "/app/conf.d/xvfb.conf" during parsing 2025-01-29 21:42:54,862 INFO supervisord started with pid 1 2025-01-29 21:42:55,865 INFO spawned: 'fluxbox' with pid 7 2025-01-29 21:42:55,869 INFO spawned: 'websockify' with pid 8 2025-01-29 21:42:55,872 INFO spawned: 'x11vnc' with pid 9 2025-01-29 21:42:55,876 INFO spawned: 'xvfb' with pid 10 2025-01-29 21:42:56,974 INFO success: fluxbox entered RUNNING state, process has stayed up for > than 1 seconds startsecs) 2025-01-29 21:42:56,975 INFO success: websockify entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-01-29 21:42:56,975 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-01-29 21:42:56,975 INFO success: xvfb entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) sonic logs No log line matching the '' filter ``` ### ArchiveBox Version ```shell Docker version 26.1.3, build b72abbb Rocky Linux 8 Portainer 2.21.5 Latest docker images ``` ### How did you install the version of ArchiveBox you are using? Docker (or Podman/LXC/K8s/TrueNAS/Proxmox/etc) ### What operating system are you running on? Linux (Ubuntu/Debian/Arch/Alpine/etc.) ### What type of drive are you using to store your ArchiveBox data? - [ ] some of `data/` is on a local SSD or NVMe drive - [x] some of `data/` is on a spinning hard drive or external USB drive - [ ] some of `data/` is on a network mount (e.g. NFS/SMB/Ceph/GlusterFS/etc.) - [ ] some of `data/` is on a FUSE mount (e.g. SSHFS/RClone/S3/B2/Google Drive/Dropbox/etc.) ### Docker Compose Configuration ```shell services: archivebox: image: archivebox/archivebox:latest ports: - 8555:8000 volumes: - /mnt/data/archivebox:/data environment: - ADMIN_USERNAME=admin - ADMIN_PASSWORD=*************** - ALLOWED_HOSTS=serverIP - CSRF_TRUSTED_ORIGINS=http://serverIP - PUBLIC_INDEX=False - PUBLIC_SNAPSHOTS=False - PUBLIC_ADD_VIEW=False - SEARCH_BACKEND_ENGINE=sonic - SEARCH_BACKEND_HOST_NAME=sonic - SEARCH_BACKEND_PASSWORD=******************* - PUID=1003 - PGID=1003 archivebox_scheduler: image: archivebox/archivebox:latest command: schedule --foreground --update --every=day environment: - PUID=1003 - PGID=1003 - TIMEOUT=120 - SEARCH_BACKEND_ENGINE=sonic - SEARCH_BACKEND_HOST_NAME=sonic - SEARCH_BACKEND_PASSWORD=****************** volumes: - /mnt/data/archivebox:/data sonic: image: archivebox/sonic:latest expose: - 1491 environment: - SEARCH_BACKEND_PASSWORD=**************** volumes: - /mnt/data/archivebox/sonic:/var/lib/sonic/store novnc: image: theasp/novnc:latest environment: - DISPLAY_WIDTH=1920 - DISPLAY_HEIGHT=1080 - RUN_XTERM=no ports: - 8056:8080 ``` ### ArchiveBox Configuration ```shell See docker compose above ```
kerem closed this issue 2026-03-01 17:59:26 +03:00
Author
Owner

@pirate commented on GitHub (Jan 30, 2025):

Can you add/edit these lines and try again:

docker-compose.yml:

services:
    archivebox:
        ...
        command: archivebox server --quick-init 0.0.0.0:8555
        ports:
            - "8555:8555"
        environment:
            CSRF_TRUSTED_ORIGINS: 'http://serverip:8555'
            ...

Also please share the full output of this after restarting and trying to visit http://serverip:8555:
docker compose logs archivebox

If you have any kind of ingress system in front of archivebox make sure you're not trying to host it under some subpath like http://serverip:8555/archivebox, it must be served from the root http://serverip:8555/.

<!-- gh-comment-id:2625917001 --> @pirate commented on GitHub (Jan 30, 2025): Can you add/edit these lines and try again: `docker-compose.yml`: ```yaml services: archivebox: ... command: archivebox server --quick-init 0.0.0.0:8555 ports: - "8555:8555" environment: CSRF_TRUSTED_ORIGINS: 'http://serverip:8555' ... ``` Also please share the full output of this after restarting and trying to visit `http://serverip:8555`: `docker compose logs archivebox` If you have any kind of ingress system in front of archivebox make sure you're not trying to host it under some subpath like `http://serverip:8555/archivebox`, it must be served from the root `http://serverip:8555/`.
Author
Owner

@nzbtuxnews commented on GitHub (Jan 31, 2025):

Hi, I modified the compose script as you suggested and redeployed (re-pulled the images) and unfortunately trying to access the server at port 8555 doesnt work (404). I also dont see much in the archivebox container logs other than:

[i] [2025-01-31 00:28:32] ArchiveBox v0.7.3: archivebox server --quick-init 0.0.0.0:8555
    > /data
[^] Verifying and updating existing ArchiveBox collection to v0.7.3...
----------------------------------------------------------------------
[*] Verifying archive folder structure...
    + ./archive, ./sources, ./logs...
    + ./ArchiveBox.conf...
[*] Verifying main SQL index and running any migrations needed...

I am not running anything fancy (reverse proxies, ot anything else)... The container is deployed directly on a Proxmox VM accessible directly visa FQDN or IP... So entering http://FQDN:8555 should work...

<!-- gh-comment-id:2626021973 --> @nzbtuxnews commented on GitHub (Jan 31, 2025): Hi, I modified the compose script as you suggested and redeployed (re-pulled the images) and unfortunately trying to access the server at port 8555 doesnt work (404). I also dont see much in the archivebox container logs other than: ``` [i] [2025-01-31 00:28:32] ArchiveBox v0.7.3: archivebox server --quick-init 0.0.0.0:8555 > /data [^] Verifying and updating existing ArchiveBox collection to v0.7.3... ---------------------------------------------------------------------- [*] Verifying archive folder structure... + ./archive, ./sources, ./logs... + ./ArchiveBox.conf... [*] Verifying main SQL index and running any migrations needed... ``` I am not running anything fancy (reverse proxies, ot anything else)... The container is deployed directly on a Proxmox VM accessible directly visa FQDN or IP... So entering http://FQDN:8555 should work...
Author
Owner

@pirate commented on GitHub (Jan 31, 2025):

It looks like your archivebox server is not actually up if there are no lines after [*] Verifying main SQL index and running any migrations needed... then it's stuck in migrations and never finished starting. It should look like this once it's running:

Image

Do you have a huge archive that it's stalled trying to upgrade? Or perhaps there are some orphan archivebox containers still running that need to be stopped? Or perhaps it's on a very slow filesystem?

Also if you're seeing a 404 that means something else is running on the that port that might be conflicting with archivebox, until the server comes up you should see connection refused or connection timed out, not a 404.

<!-- gh-comment-id:2626106882 --> @pirate commented on GitHub (Jan 31, 2025): It looks like your archivebox server is not actually up if there are no lines after `[*] Verifying main SQL index and running any migrations needed...` then it's stuck in migrations and never finished starting. It should look like this once it's running: <img width="988" alt="Image" src="https://github.com/user-attachments/assets/e0dfafa1-cfe6-4bdc-8d19-3ebb8f809fbf" /> Do you have a huge archive that it's stalled trying to upgrade? Or perhaps there are some orphan archivebox containers still running that need to be stopped? Or perhaps it's on a very slow filesystem? Also if you're seeing a 404 that means something else is running on the that port that might be conflicting with archivebox, until the server comes up you should see connection refused or connection timed out, not a 404.
Author
Owner

@nzbtuxnews commented on GitHub (Feb 2, 2025):

Well, I think I found the issue(s).....

  1. NFS file locking issues
    Due to another container that was issuing "flock 200 - No locks available" I became suspicious about filesystem issues and turns out, "/mnt/data" being a NFS mount, it was causing this problem (apparently NFS is notoriously BAD at file locking among other things...)

Moving the folders out of it for this container instantly solved the problem with file locking so naturally I thought trying the same for Archivebox and move the volumes to a local filesystem.

Re-deployed and it worked instantly..... I'm sorry about this if I knew NFS was going to be such a PITA I would have avoided it to begin with.

  1. Portainer bugs

Apparently portainer has troubles parsing environment variables to the container during deployment. The environment variables need to be called (added manually) in the environment section of the compose script without actual values....

https://github.com/portainer/portainer/issues/10491

Now Archivebox seems to be working well so I consider this ticket solved but I recommend adding warnings to the installation instructions to avoid portainer for now, and definitely avoid NFS...

FTR my current docker compose:

services:
    archivebox:
        image: archivebox/archivebox:latest
        command: archivebox server --quick-init 0.0.0.0:8555
        ports:
            - 8555:8555
        volumes:
            - /home/archivebox/data:/data
        environment:
            - ADMIN_USERNAME=admin
            - ADMIN_PASSWORD=*********************
            - ALLOWED_HOSTS=serverIP
            - CSRF_TRUSTED_ORIGINS=http://serverIP:8555
            - PUBLIC_INDEX=False
            - PUBLIC_SNAPSHOTS=False
            - PUBLIC_ADD_VIEW=False
            - SEARCH_BACKEND_ENGINE=sonic
            - SEARCH_BACKEND_HOST_NAME=sonic
            - SEARCH_BACKEND_PASSWORD=***************
            - PUID=1003
            - PGID=1003

    archivebox_scheduler:
        image: archivebox/archivebox:latest
        command: schedule --foreground --update --every=day
        environment:
            - PUID=1003
            - PGID=1003
            - TIMEOUT=120
            - SEARCH_BACKEND_ENGINE=sonic
            - SEARCH_BACKEND_HOST_NAME=sonic
            - SEARCH_BACKEND_PASSWORD=***************
        volumes:
            - /home/archivebox/data:/data
    sonic:
        image: archivebox/sonic:latest
        expose:
            - 1491
        environment:
            - SEARCH_BACKEND_PASSWORD=***************
        volumes:
            - /home/archivebox/sonic:/var/lib/sonic/store
    novnc:
        image: theasp/novnc:latest
        environment:
            - DISPLAY_WIDTH=1920
            - DISPLAY_HEIGHT=1080
            - RUN_XTERM=no
        ports:
            - 8056:8080
<!-- gh-comment-id:2629489440 --> @nzbtuxnews commented on GitHub (Feb 2, 2025): Well, I think I found the issue(**s**)..... 1. NFS file locking issues Due to another container that was issuing "flock 200 - No locks available" I became suspicious about filesystem issues and turns out, "/mnt/data" being a NFS mount, it was causing this problem (apparently NFS is notoriously BAD at file locking among other things...) Moving the folders out of it for this container instantly solved the problem with file locking so naturally I thought trying the same for Archivebox and move the volumes to a local filesystem. Re-deployed and it worked instantly..... I'm sorry about this if I knew NFS was going to be such a PITA I would have avoided it to begin with. 2. Portainer bugs Apparently portainer has troubles parsing environment variables to the container during deployment. The environment variables need to be called (added manually) in the environment section of the compose script without actual values.... https://github.com/portainer/portainer/issues/10491 Now Archivebox seems to be working well so I consider this ticket solved but I recommend adding warnings to the installation instructions to avoid portainer for now, and definitely avoid NFS... FTR my current docker compose: ``` services: archivebox: image: archivebox/archivebox:latest command: archivebox server --quick-init 0.0.0.0:8555 ports: - 8555:8555 volumes: - /home/archivebox/data:/data environment: - ADMIN_USERNAME=admin - ADMIN_PASSWORD=********************* - ALLOWED_HOSTS=serverIP - CSRF_TRUSTED_ORIGINS=http://serverIP:8555 - PUBLIC_INDEX=False - PUBLIC_SNAPSHOTS=False - PUBLIC_ADD_VIEW=False - SEARCH_BACKEND_ENGINE=sonic - SEARCH_BACKEND_HOST_NAME=sonic - SEARCH_BACKEND_PASSWORD=*************** - PUID=1003 - PGID=1003 archivebox_scheduler: image: archivebox/archivebox:latest command: schedule --foreground --update --every=day environment: - PUID=1003 - PGID=1003 - TIMEOUT=120 - SEARCH_BACKEND_ENGINE=sonic - SEARCH_BACKEND_HOST_NAME=sonic - SEARCH_BACKEND_PASSWORD=*************** volumes: - /home/archivebox/data:/data sonic: image: archivebox/sonic:latest expose: - 1491 environment: - SEARCH_BACKEND_PASSWORD=*************** volumes: - /home/archivebox/sonic:/var/lib/sonic/store novnc: image: theasp/novnc:latest environment: - DISPLAY_WIDTH=1920 - DISPLAY_HEIGHT=1080 - RUN_XTERM=no ports: - 8056:8080 ```
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#2495
No description provided.