BUCKYVERSE

Legacy Wiki.js favicon on the droplet (buckyverse.org)

Legacy notes for the old Wiki.js deployment, kept for reference after the wiki migration to llm-wiki/.

Quick checklist

  1. From Mac: scp -r dev/wikijs/favicons r26d@buckyverse.org:~/wikijs-favicons (if "subsystem request failed", use the tar-pipe in §1; if "shell request failed" too, use the DO droplet console and see §1.)
  2. Shell on droplet: ssh r26d@buckyverse.org (or DO console if SSH is broken)
  3. On droplet: Find wiki compose dir (e.g. docker ps --format '{{.Names}} {{.Mounts}}'), edit compose, add volume ~/wikijs-favicons:/wiki/assets/favicons:ro to the wiki service.
  4. Recreate: docker compose up -d wiki (or docker-compose up -d wiki) in that dir.
  5. Verify: docker exec wiki ls -la /wiki/assets/favicons then check https://www.buckyverse.org in incognito.

1. Get the favicon files onto the droplet

The repo has pre-generated favicons in dev/wikijs/favicons/ (from the root favicon.png). Copy that folder to the server.

From your Mac (with SSH working):

cd /path/to/buckyverse.org
scp -r dev/wikijs/favicons r26d@buckyverse.org:~/wikijs-favicons

If scp fails with subsystem request failed on channel 0 (SFTP not available on the server), use a tar pipe over SSH instead:

cd /path/to/buckyverse.org
tar czf - -C dev/wikijs favicons | ssh r26d@buckyverse.org 'mkdir -p ~/wikijs-favicons && tar xzf - -C ~/wikijs-favicons'

When SSH and SCP both fail (shell request failed on channel 0 or subsystem request failed): the droplet’s SSH is not granting a shell or SFTP. Use the DigitalOcean droplet console (Control Panel → Droplet → Access → Launch Droplet Console) to get a serial/login session. From there you can: (1) Create ~/wikijs-favicons and get the favicon files onto the server (e.g. upload via the DO console if available, or use another machine that can reach the droplet); (2) Optionally fix SSH so r26d gets a normal shell—check the account’s login shell (getent passwd r26d), authorized_keys for command= or restrict in front of the key, and /etc/ssh/sshd_config for Match blocks or ForceCommand affecting that user; then run sudo systemctl reload sshd after changes.

On the droplet, you need the favicon files in a directory the wiki container can read, e.g.:

Required filenames (all present in dev/wikijs/favicons/):

2. Find how the wiki container is run

SSH in (or use the DO console):

ssh r26d@buckyverse.org

Find the compose file or the command that starts the wiki container:

# If using docker-compose, find the project directory (often under root)
docker ps --format '{{.Names}} {{.Mounts}}'   # see where wiki is running from
# Common locations: /root/wikijs, /opt/wiki, /home/r26d/wiki

If you have a compose directory (e.g. /root/wikijs or ~/wiki), open the compose file (often docker-compose.yml) and find the wiki service.

3. Add the favicon volume and recreate the wiki container

If the wiki is started with Docker Compose:

Edit the compose file and add the favicon mount to the wiki service. Under volumes: for the wiki service add:

- /home/r26d/wikijs-favicons/favicons:/wiki/assets/favicons:ro

Use the actual path where the favicon PNGs live (e.g. /home/r26d/wikijs-favicons/favicons if you used the tar pipe). Use :ro so the container cannot modify the files.

Then recreate the wiki container so it picks up the new volume:

cd /path/to/compose/dir   # e.g. cd ~/wiki or cd /root/wikijs
docker-compose up -d wiki
# or: docker compose up -d wiki

If the wiki was started with docker run (no compose file):

You must stop the container, then create and start a new one with the same env and an extra -v:

docker stop wiki
docker rm wiki
# Then run your usual docker create/run command and add:
#   -v /home/r26d/wikijs-favicons:/wiki/assets/favicons:ro

(Use the real path to your favicons directory.)

Using the repo's compose file: The repo has dev/wikijs/docker-compose.droplet.yml with the wiki service, favicon volume, and external wikinet/content volume. Copy it to the droplet (e.g. ~/wiki/docker-compose.yml), ensure the prereqs in the file comments are in place, then run docker compose up -d wiki in that directory. Future changes (e.g. env or image) can be made in the repo file and re-copied.

4. Check the result

Open https://www.buckyverse.org in a private/incognito window (or clear cache). The browser tab should show the new favicon. If not, confirm the mount:

docker exec wiki ls -la /wiki/assets/favicons

You should see the PNG files. If the directory is empty or missing, the volume path on the host is wrong or the container wasn’t recreated.

Local dev

Local Wiki.js in dev/wikijs already mounts ./favicons to /wiki/assets/favicons (see dev/wikijs/docker-compose.yml). After docker compose up -d, http://localhost:3000 uses the same favicon.

Reference