123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- <!DOCTYPE html>
- <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>Running Snipe-IT in Docker on Ubuntu Server</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta charset="UTF-8">
- <meta name="keywords" content="Browser Based,Docker Made Easy,Home Lab,Home Lab Ideas,Install Guide,Self-Hosted,Web Based,Container,Containerization,Docker,Docker How To,Docker Installation Tutorial,Docker Simplified,Docker Tutorial,Free Software,Getting Started With Docker,Self-hosted,Ubuntu,Linux,Snipe-IT,IT Asset Management,Asset Management,How To,Tutorial,i12bretro">
- <meta name="author" content="i12bretro">
- <meta name="description" content="Running Snipe-IT in Docker on Ubuntu Server">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="revised" content="08/05/2024 05:13:57 PM" />
- <link rel="icon" type="image/x-icon" href="includes/favicon.ico">
- <script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
- <script type="text/javascript" src="includes/js/steps.js"></script>
- <link href="css/steps.css" rel="stylesheet" type="text/css" />
- </head>
- <body>
- <div id="gridContainer">
- <div class="topMargin"></div>
- <div id="listName" class="topMargin">
- <h1>Running Snipe-IT in Docker on Ubuntu Server</h1>
- </div>
- <div></div>
- <div id="content">
- <h2>What is Snipe-IT?</h2>
- <p><em>Snipe-IT is a Free Open Source (FOSS) project built on Laravel. Snipe-IT was made for IT asset management, to enable IT departments to track who has which laptop, when it was purchased, which software licenses and accessories are available, and so on.</em> - <a href="https://snipe-it.readme.io/docs" target="_blank">https://snipe-it.readme.io/docs</a></p>
- <h2>Installing Docker</h2>
- <ol>
- <li>Log into the Linux host</li>
- <li>Run the following commands in a terminal window
- <div class="codeBlock"># install prerequisites<br />
- sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg-agent -y<br />
- # add docker gpg key<br />
- curl -fsSL https://download.docker.com/linux/$(awk -F'=' '/^ID=/{ print $NF }' /etc/os-release)/gpg | sudo apt-key add -<br />
- # add docker software repository<br />
- sudo add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/$(awk -F'=' '/^ID=/{ print $NF }' /etc/os-release) $(lsb_release -cs) stable"<br />
- # install docker<br />
- sudo apt install docker-ce docker-compose containerd.io -y<br />
- # enable and start docker service<br />
- sudo systemctl enable docker && sudo systemctl start docker<br />
- # add the current user to the docker group<br />
- sudo usermod -aG docker $USER<br />
- # reauthenticate for the new group membership to take effect<br />
- su - $USER</div>
- </li>
- </ol>
- <h2>Running Snipe-IT</h2>
- <ol>
- <li>Continue with the following commands in terminal to setup and run Snipe-IT
- <div class="codeBlock"># create working directories<br />
- sudo mkdir ~/docker/snipeit/{config,data} -p && sudo mkdir ~/docker/mariadb -p<br />
- # create snipeit network<br />
- docker network create snipeit<br />
- # download the base configuration<br />
- sudo wget -O ~/docker/snipeit/.env https://raw.githubusercontent.com/snipe/snipe-it/master/.env.example<br />
- # generate an app_key<br />
- docker run --rm snipe/snipe-it<br />
- # edit the .env file<br />
- sudo nano ~/docker/snipeit/.env</div>
- </li>
- <li>Scroll through the .env file, making sure to comment out the mysql connection details and change the following fields as needed
- <p># --------------------------------------------<br />
- # REQUIRED: BASIC APP SETTINGS<br />
- # --------------------------------------------<br />
- APP_ENV=production<br />
- APP_DEBUG=false<br />
- APP_KEY=<%PASTED APP_KEY%><br />
- APP_URL='http://<%DNSorIP%>:8000'<br />
- APP_TIMEZONE='America/New_York'<br />
- APP_LOCALE=en<br />
- MAX_RESULTS=500</p>
- <p># --------------------------------------------<br />
- # REQUIRED: UPLOADED FILE STORAGE SETTINGS<br />
- # --------------------------------------------<br />
- PRIVATE_FILESYSTEM_DISK=local<br />
- PUBLIC_FILESYSTEM_DISK=local_public</p>
- <p># --------------------------------------------<br />
- # REQUIRED: DATABASE SETTINGS<br />
- # --------------------------------------------<br />
- DB_CONNECTION=mysql<br />
- DB_HOST=db<br />
- DB_DATABASE=snipe_it<br />
- DB_USERNAME=snipe_it_rw<br />
- DB_PASSWORD=Snip3-IT!<br />
- DB_PREFIX=null<br />
- <br />
- # --------------------------------------------<br />
- # REQUIRED: OUTGOING MAIL SERVER SETTINGS<br />
- # --------------------------------------------<br />
- MAIL_DRIVER=smtp<br />
- MAIL_HOST=smtp.i12bretro.local<br />
- MAIL_PORT=25<br />
- MAIL_USERNAME=null<br />
- MAIL_PASSWORD=null<br />
- MAIL_ENCRYPTION=null<br />
- MAIL_FROM_ADDR=snipe-it@i12bretro.local<br />
- MAIL_FROM_NAME='Snipe-IT'<br />
- MAIL_REPLYTO_ADDR=snipe-it@i12bretro.local<br />
- MAIL_REPLYTO_NAME='Snipe-IT'<br />
- MAIL_AUTO_EMBED_METHOD='attachment'</p>
- </li>
- <li>Press CTRL+O, Enter, CTRL+X to write the changes to .env</li>
- <li>Continue with the following commands in terminal
- <div class="codeBlock"># set owner of docker directory<br />
- sudo chown "$USER":"$USER" ~/docker -R<br />
- # set permissions on docker directory<br />
- sudo chmod g+rwx "$HOME/docker" -R<br />
- # run the mariadb docker container<br />
- docker run -d --name mariadb --network snipeit --network-alias db -e MYSQL_ROOT_PASSWORD=r00tp@ss -e MYSQL_USER=snipe_it_rw -e MYSQL_PASSWORD=Snip3-IT! -e MYSQL_DATABASE=snipe_it -v ~/docker/mariadb:/var/lib/mysql --restart=unless-stopped mariadb:latest<br />
- # run the snipeit container<br />
- docker run -d --name snipeit -p 8000:80 --network snipeit --env-file=$HOME/docker/snipeit/.env -v ~/docker/snipeit/data:/var/lib/snipeit -v ~/docker/snipeit/config:/config --restart=unless-stopped snipe/snipe-it:v5.1.7</div>
- </li>
- </ol>
- <h2>Snipe-IT Web Installer</h2>
- <ol>
- <li>Open a web browser and navigate to http://DNSorIP:8000</li>
- <li>Review the Pre-Flight Checks summary > Click the Next: Create Database Tables button</li>
- <li>Once the database tables are created, Click the Next: Create User button</li>
- <li>Create a user by inputting a site name, first name, last name, email address, username and password > Click the Next: Save User button</li>
- <li>Welcome to Snipe-IT running on Docker</li>
- </ol>
- <p>Documentation: <a href="https://hub.docker.com/r/snipe/snipe-it/" target="_blank">https://hub.docker.com/r/snipe/snipe-it/</a></p> </div>
- </div>
- </body>
- </html>
-
|