Jak nainstalovat InvenTree pomocí docker za 5 minut

Následující skript je automatizovaný instalační skript pro InvenTree, který stáhne aktuální docker-compose.yml a další konfigurace z GitHubu, upraví je tak, aby se pro úložiště používaly pouze lokální adresáře, a následně InvenTree spustí.

Nejprve vytvořte adresář, například /opt/inventree-mydomain. Doporučuji zvolit jedinečný název adresáře a ne pouze inventree, abyste udrželi instae

install_inventree.sh
#!/bin/sh
wget -O nginx.prod.conf https://github.com/inventree/InvenTree/raw/master/docker/production/nginx.prod.conf
wget -O docker-compose.yml https://github.com/inventree/InvenTree/raw/master/docker/production/docker-compose.yml
wget -O .env https://github.com/inventree/InvenTree/raw/master/docker/production/.env

sed -i -e 's/#INVENTREE_DB_USER=pguser/INVENTREE_DB_USER=inventree/g' .env
sed -i -e "s/#INVENTREE_DB_PASSWORD=pgpassword/INVENTREE_DB_PASSWORD=$(pwgen 30 1)/g" .env
sed -i -e "s/INVENTREE_WEB_PORT=1337/INVENTREE_WEB_PORT=$(shuf -i 1024-65535 -n 1)/g" .env
sed -i -e "s/#INVENTREE_ADMIN_USER=/INVENTREE_ADMIN_USER=admin/g" .env
sed -i -e "s/#INVENTREE_ADMIN_PASSWORD=/INVENTREE_ADMIN_PASSWORD=$(pwgen 30 1)/g" .env
sed -i -e "s/#INVENTREE_ADMIN_EMAIL=/INVENTREE_ADMIN_EMAIL=inventree@techoverflow.net/g" .env
sed -i -e 's/COMPOSE_PROJECT_NAME=inventree-production//g' .env
# Povolit mezipaměť
sed -i -e "s/#INVENTREE_CACHE_HOST=inventree-cache/INVENTREE_CACHE_HOST=inventree-cache/g" .env
sed -i -e "s/#INVENTREE_CACHE_PORT=6379/INVENTREE_CACHE_PORT=6379/g" .env
# Použít přímé mapování adresářů pro zamezení problémů s mountováním
sed -i -e "s%- inventree_data:%- $(pwd)/inventree_data:%g" docker-compose.yml
# ... nyní můžeme odstranit deklarace volumes z docker-compose.yml
sed -i -e '/^volumes:/,$d' docker-compose.yml

sed -z -i -e 's#profiles:\s*- redis\s*##g' docker-compose.yml # Spouštět redis vždy, i bez docker-compose --profile redis
# Použít standardní docker-compose pojmenování adresářů pro usnadnění více paralelních instalací
sed -z -i -e 's#container_name:\s*[a-zA-Z0-9_-]*\s*##g' docker-compose.yml # Odstranit řádky container_name: ...
# Vytvořit datový adresář, který je svázán s docker volume
mkdir -p inventree_data
# Inicializovat databázi
docker-compose up -d inventree-cache inventree-db # inicializace databáze vyžaduje mezipaměť
docker-compose run inventree-server invoke update

Po dokončení můžete v .env zkontrolovat náhodně vygenerované INVENTREE_ADMIN_PASSWORD a INVENTREE_WEB_PORT.

Nyní můžete povolit autostart a spustit službu pomocí systemd, pro více detailů viz náš příspěvek Vytvořte systemd službu pro váš docker-compose project za 10 sekund:

create_docker_compose_service.sh
curl -fsSL https://techoverflow.net/scripts/create-docker-compose-service.sh | sudo bash /dev/stdin

Nezapomeňte nakonfigurovat váš reverse proxy tak, aby směroval na InvenTree.


Podívejte se na podobné články podle kategorie: Docker InvenTree