Install ThreeTwo! on unRaid
Notes#
- Currently,
ThreeTwo!is installed along with its dependencies usingdocker-compose. The easiest way to install it onunRAIDis to use a VM. - Skip the VM creation steps, if you already have a Debian VM
Pre-requisites#
This guide assumes the following is installed or readily available:
unRaid 6.9.2(this version was tested against6.9.2)Debian 10.x(Grab the install.isohere)You need to create the following folder structure on your
unRaidhost.- comics - userdata |- covers |- expanded |- temporarycomicscould be where your final; downloaded, renamed comics reside.userdatais purely forThreeTwo!.You absolutely need both these folders with the structure described above. Many core functions won't work otherwise!
Getting the VM up and running#
- Download the
Debianinstall.iso - Place it in a folder accessible by the VM
- Go to the
VMtab in yourunRaidnavigation - Click
Add VM - From the list presented to you, click
DebianunderLinux - On the VM configration page, enter the desired options for memory, CPU cores, vdisk allocation
- Make sure that you have set the volume containing the comics correctly for
Unraid Share - Make sure that you have also set the
Unraid Mount tagoption - Make sure that the network bridge is set to
br0 - Set a password for
VNCso you can follow through with a graphical install if you so wish
Installing Debian on the VM#
- Launch the VM via
VNC Remoteoption - Follow the steps of the graphical installer
- Create a
rootuser and a normaluserand set the passwords for both
Docker pre-requisites#
- Make sure you have
sudo - Make sure you have
sshaccess for the user you created earlier sshinto the VM as the non-root user- Install Docker Engine
- Install docker-compose
- Verify that
dockeranddocker-composecommands work
VM pre-requisites#
- Once you have mapped the
unRaidshare containingcomicsanduserdatato the mountpoint of the VM, add this line to your/etc/fstab
unraidshare /mnt/unraidshare 9p trans=virtio,version=9p2000.L,_netdev,rw 0 0 where, unraidshare is the unRaid host folder you chose to map to the VM mountpoint during the VM creation process.
/mnt/unraidshare is simply a location where you want unraidshare mounted.
- Reboot the VM for posterity
- Check that
/mnt/unraidsharecorrectly shows the folder contents.
Installation#
- Clone the repo:
git clone https://github.com/rishighan/threetwo.git. If you have already cloned the repo and want updates, rungit pullfromthreetwodirectory. - Change the directory:
cd threetwo - Create an external docker network using
sudo docker network create proxy - Run
HOSTNAME="${HOSTNAME}" sudo docker-compose up -d --build - Run
COMICS_DIRECTORY=<YOUR COMICS FOLDER> \ USERDATA_DIRECTORY=<YOUR USERDATA FOLDER> \ COMICVINE_API_KEY=COMICVINE_API_KEY=<YOUR COMICVINE API KEY> \ sudo -E docker-compose up -d --force-recreate - Wait for a hot minute
Post-install checks#
- Once the
docker-compose upcommand successfully completes, you can check the spun-up containers usingdocker ps - You should see the following services up:
threetwo-uithreetwo-import-apiimage-transformationimportcomicvine-apiqueuereverse-proxydatabasetransportercomicvine-service- Past this, you can try accessing the
ThreeTwo!UI at<VM IP>:8050(Replace<server IP>with your VM's IP)
Troubleshooting#
You aren't seeing all the services listed in
#2in the previous section spun up Note any errors listed at the end ofdocker-compose up --force-recreate -dRunsudo docker ps -aand look for any services with an... (exited x seconds ago)message. Note the container name, typically under theNAMEScolumn. Runsudo docker logs <service name>for the service that exited. Copy the error and open an issue on the repo's issue page.