🐳 Codex Docker Image¶
Codex is a web server comic book browser and reader.
Documentation, Source, and Issue Reports¶
Migrating from Docker Hub¶
The docker.io/ajslater/codex image is deprecated. Codex images are published only at ghcr.io/ajslater/codex. The Docker Hub image is republished from it so that Codex can warn you to switch. To migrate, change the image in your compose.yaml or docker run command from ajslater/codex or docker.io/ajslater/codex to ghcr.io/ajslater/codex and recreate the container:
docker compose pull && docker compose up -d
The tags are the same and the images share every layer, so nothing re-downloads. Your /config and /comics volumes and environment variables carry over unchanged. If you are upgrading from Codex 1.9.x, back up your config directory first and read the Upgrading notes for the versions in between.
Usage¶
Here are some example snippets to help you get started creating a container from this image.
docker¶
docker create \
--name=codex \
-p 9810:9810 \
-e PUID=501 \
-e PGID=20 \
-v /host/path/to/config:/config \
-v /host/path/to/comics:/comics \
--restart unless-stopped \
ghcr.io/ajslater/codex
compose.yaml¶
services:
codex:
image: ghcr.io/ajslater/codex
container_name: codex
env_file: .env
volumes:
- /host/path/to/config:/config
- /host/path/to/comics:/comics
ports:
- "9810:9810"
restart: on-failure
healthcheck:
test: [CMD, curl, --fail, "http://localhost:9810/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 15s
Note: The
compose.yamlexample mounts/comicsread-only (:ro), which is safe for browsing. But editing tags writes back to your comic files, so to use tag editing you must remove the:roflag and make sure the container user (PUID/PGID) has write permission to the comics. Thedockerexample above already mounts/comicswritable.
Special volume setup for a CIFS share:
services:
my-service:
volumes:
- nas-share:/container-path
volumes:
nas-share:
driver_opts:
type: cifs
o: "username=[username],password=[password]"
device: //my-nas-network-name/share
Environment Variables Unique to Docker¶
PUID: Sets the UID for the default user on startupPGID: Sets the GID for the default user on startup
General Codex Environment Variables¶
Refer to the Environment Variable Docs for codex environment variables.
Support Info¶
Shell access whilst the container is running:
docker exec -it codex /bin/bash
Monitor the logs of the container in realtime:
docker logs -f codex
Container version number
docker inspect -f '{{ index .Config.Labels "org.opencontainers.image.version" }}' codex
Image version number
docker inspect -f '{{ index .Config.Labels "org.opencontainers.image.version" }}' ghcr.io/ajslater/codex