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
comicsanduserdatafolders correctly forUnraid 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 threetwoCreate an external docker network using
sudo docker network create proxyRemember to substitute things enclosed in
<...>with your actual values!Run:
COMICS_DIRECTORY=<YOUR COMICS FOLDER> \ USERDATA_DIRECTORY=<YOUR USERDATA FOLDER> \ COMICVINE_API_KEY=<YOUR COMICVINE API KEY> \ sudo -E docker-compose up -d --force-recreateWait 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-apiqueuetraefikdatabasetransportercomicvine-service- Past this, you can try accessing the
ThreeTwo!UI at<VM IP>:8050(Replace<server IP>with your VM's IP or hostname)
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.Check the browser's inspector and the network tab. Note any calls that may have failed.