본문 바로가기

IT/NAS

[자작NAS] 우분투 서버에 Docker로 Snipe-IT 설치

반응형

Snipe-IT은 체계적으로 자산 관리(Asset Management)를 해주는 툴입니다.

https://snipeitapp.com/

 

Home - Snipe-IT Open Source IT Asset Management

Snipe-IT is a free, open source IT asset management system that helps you manage assets, software licenses, accessories, components and consumables within your organization.

snipeitapp.com

가정에도 다양한 모바일 디바이스나 IoT 장비를 사용하는 경우 장비들을 관리하기가 쉽지 않습니다.

IoT 기기를 사용 중에 이사를 가게 되거나 하는 경우 실수로 챙기지 못하는 경우가 발생할 수도 있습니다.

이럴 때 Snipe-IT는 좀 더 쉽고 편리하게 관리할 수 있도록 도와줍니다.

Docker를 통해 Snipe-IT를 설치하는 방법을 알아보겠습니다.

 

먼저 설정 파일들을 저장할 디렉터리를 생성합니다.

sudo mkdir -p /data/snipe-it/config

Snipe-IT은 MySQL을 사용하는데 MariaDB로 대체 가능합니다.

MariaDB를 Docker로 설치하는 방법은 아래 링크에서 확인 가능합니다.

2016/09/15 - [IT/NAS] - [자작NAS] 6. 우분투 서버에 MariaDB 설치

 

[자작NAS] 6. 우분투 서버에 MariaDB 설치

Docker 설치가 완료되면 다양한 기능을 Docker를 통해 추가할 수 있습니다. 먼저 데이터베이스인 MariaDB를 설치하는 방법을 알아보겠습니다. MariaDB는 기존 MySQL이 오라클의 소유로 넘어가면서 새롭게

psychoria.tistory.com

MariaDB에 Snipe-IT을 위한 사용자와 데이터베이스를 추가합니다.

sudo docker exec -it mariadb bash

MariaDB 컨테이너로 이동한 이후에 아래 명령어를 입력하고 root 계정의 비밀번호를 입력합니다.

mysql -u root -p

아래 명령어의 PASSWORD 부분을 원하는 비밀번호로 변경한 후 명령어들을 순차적으로 입력합니다.

CREATE DATABASE snipeit;
CREATE USER 'snipeit'@'%' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON snipeit.* TO 'snipeit'@'%';
FLUSH PRIVILEGES;
quit

명령어를 입력한 후 컨테이너 내부를 빠져나오면 됩니다.

exit

이제 새로 생성할 Snipe-IT 컨테이너와 MariaDB 컨테이너를 하나의 네트워크에 두기 위한 설정을 합니다.

sudo docker network create snipe-it

네트워크를 새로 생성하고 MariaDB를 먼저 추가해줍니다.

sudo docker network connect snipe-it mariadb

이제 Snipe-IT 컨테이너를 생성해주면 됩니다.

sudo docker run -d \
--name=snipe-it \
--network=snipe-it \
-e PUID=$UID \
-e PGID=$(id -g $USER) \
-e NGINX_APP_URL=<IP주소>:<포트> \
-e MYSQL_PORT_3306_TCP_ADDR=mariadb \
-e MYSQL_PORT_3306_TCP_PORT=3306 \
-e MYSQL_DATABASE=snipeit \
-e MYSQL_USER=snipeit \
-e MYSQL_PASSWORD='PASSWORD' \
-e APP_TIMEZONE=Asia/Seoul \
-p <포트>:80 \
-v /data/snipe-it/config:/config \
--restart unless-stopped \
linuxserver/snipe-it

외부로 노출시킬 포트 번호는 APP_URL과 -p 설정의 <포트> 부분에 동일하게 입력하면 됩니다.

APP_URL에는 리눅스 호스트 IP를 입력해주면 되는데 192.168.1.15:8080 형태로 입력하면 됩니다.

PASSWORD 부분에는 실제 데이터베이스 생성 시 입력했던 비밀번호를 입력하면 됩니다.

생성이 완료 후 웹 브라우저에서 IP주소와 포트를 입력하면 다음과 같은 화면이 표시됩니다.

Snipe-IT 초기 설정

Email은 설정하지 않아서 체크되지 않지만 나머지는 모두 정상입니다.

데이터베이스 설정

컨테이너 생성 시 데이터베이스 설정이 정상적으로 되어 있다면 테이블들이 자동으로 생성됩니다.

기본 설정

사이트 이름을 입력해주고 기본 언어와 환율 역시 입력합니다.

ID를 자동으로 생성(Generate auto-incrementing asset IDs)하도록 체크해줍니다.

그 외에 유저 이름과 비밀번호를 입력해주고 다음 단계로 이동합니다.

대시보드

좌측 상단에 입력한 사이트 이름이 표시되는 것을 확인할 수 있습니다.

설정

먼저 좌측 메뉴의 설정 부분에서 카테고리나 품목의 제조사 등을 추가하면 됩니다.

그 외에 부서나 구매처 등을 입력한 후 실제 보유 중인 제품과 라이선스 등을 추가해주면 됩니다.

이제 Snipe-IT을 통해 체계적으로 물품을 보관할 수 있습니다.

반응형
  • 2021.05.26 20:35

    비밀댓글입니다

    • BlogIcon psychoria 2021.05.27 09:33 신고

      안녕하세요.
      먼저 sudo docker ps -a 명령어로 해당 컨테이너가 잘 동작중인지 확인을 해보셔야 할 것 같습니다. 동작중이라면 sudo docker logs -f snipe-it 명령어로 로그에서 에러가 표시되는지 확인 해보시기 바랍니다.