docker-compose configuration for ThreeTwo
This repo contains the docker-compose files necessary to run:
- ThreeTwo UI
threetwo-core-serviceand its dependenciesthreetwo-metadata-serviceand its dependenciesthreetwo-acquisition-serviceand its dependencieselasticsearch,kafka,zookeeper,mongoandredis
You need both docker and docker-compose installed on your OS. Currently, Docker version 20.10.10, build b485636 and docker-compose version 1.29.2, build 5becea4c have tested well on Debian 4.19.208-1
You need 2 folders:
-
comicswill contain your... comics -
userdatawill be used by the app to create app-specific files -
The structure should be like so:
- comics - userdata
To get ComicVine to work for metadata scraping and other functions, you must have a ComicVine API key. You can get one here. Metadata scraping will not work unless you supply an API key.
- To use AirDC++, you need a working install of... AirDC++
- Then within the UI, you need to set up the connection at
Settings > Acquisition > AirDC++ > Connection - After successfully connecting, you need to select your default hubs for search under
Settings > Acquisition > AirDC++ > Hubs
- Clone this repo
- Create a network using
docker network create proxy - Edit the
docker-compose.envfile- Find the hostname of your machine and set the
UNDERLYING_HOSTNAMEto that. For e.g.UNDERLYING_HOSTNAME=foo - Set the
COMICS_DIRECTORYandUSERDATA_DIRECTORYto the correct absolute paths - Set the
COMICVINE_APIto your ComicVine API key - To summarize, these are the only variables you need to configure:
UNDERLYING_HOSTNAME=myhost COMICS_DIRECTORY=/path/to/comics USERDATA_DIRECTORY=/path/to/userdata COMICVINE_API_KEY=onethreetwo
- Find the hostname of your machine and set the
- Save the file
- Run the stack using:
env $(cat docker-compose.env | xargs) docker-compose up
threetwo, the UI runs on port5173threetwo-core-serviceservice on3000threetwo-metadata-serviceservice on3080
General
-
Some common problems can be traced to out-of-date images, and as such can be mitigated by simply pruning orphaned images:
docker system prune -a -
Always check the logs of the offending service,
docker logs --follow <servicename> -
Once the stack is up, assuming everything went well, look for
threetwo-uiservice's logs to see something like:threetwo-ui | VITE v5.2.7 ready in 145 ms threetwo-ui | threetwo-ui | ➜ Local: http://localhost:5173/ threetwo-ui | ➜ Network: http://172.30.0.9:5173/