ThreeTwo
docker-compose configuration forThis repo contains the docker-compose
files necessary to run:
- ThreeTwo UI
threetwo-core-service
and its dependenciesthreetwo-metadata-service
and its dependencies
Pre-requisites
Docker and docker-compose
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
comics
and userdata
folders
You need 2 folders:
-
comics
will contain your... comics -
userdata
will be used by the app to create app-specific files -
The structure should be like so:
- comics - userdata |- covers |- expanded |- temporary
ComicVine
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.
AirDC++
- 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
Building the stack
- Clone this repo
- Create a network using
docker network create proxy
- Edit the
docker-compose.env
file- Find the hostname of your machine and set the
UNDERLYING_HOSTNAME
to that. For e.g.UNDERLYING_HOSTNAME=foo
- Set the
COMICS_DIRECTORY
andUSERDATA_DIRECTORY
to the correct absolute paths - Set the
COMICVINE_API
to your ComicVine API key
- 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
Ports
threetwo
, the UI runs on port8050
threetwo-core-service
service on3000
threetwo-metadata-service
service on3080
Troubleshooting
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>