<!DOCTYPE html>
    <html lang="vi" xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns#">
    <head>
<title>Cách cài đặt và sử dụng PhotoPrism trên Raspberry Pi</title>
<meta name="description" content="Cách cài đặt và sử dụng PhotoPrism trên Raspberry Pi - Savefile - Tin Tức -...">
<meta name="author" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :.">
<meta name="copyright" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :. [admin@nguoicodonvn2008.info]">
<meta name="robots" content="index, archive, follow, noodp">
<meta name="googlebot" content="index,archive,follow,noodp">
<meta name="msnbot" content="all,index,follow">
<meta name="generator" content="NukeViet v4.5">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta property="og:title" content="Cách cài đặt và sử dụng PhotoPrism trên Raspberry Pi">
<meta property="og:type" content="website">
<meta property="og:description" content="Savefile - Tin Tức - https&#x3A;&#x002F;&#x002F;www.nguoicodonvn2008.info&#x002F;vi&#x002F;news&#x002F;savefile&#x002F;kien-thuc-may-tinh&#x002F;cach-cai-dat-va-su-dung-photoprism-tren-raspberry-pi-6087.html">
<meta property="og:site_name" content=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.">
<meta property="og:url" content="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/cach-cai-dat-va-su-dung-photoprism-tren-raspberry-pi-6087.html">
<link rel="shortcut icon" href="https://nguoicodonvn2008.info/favicon.ico">
<link rel="canonical" href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/cach-cai-dat-va-su-dung-photoprism-tren-raspberry-pi-6087.html">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/" title="Tin Tức" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/karaoke-dual/" title="Tin Tức - Karaoke Dual" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/nhac-tre/" title="Tin Tức - Nhạc trẻ" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tru-tinh/" title="Tin Tức - Trữ tình" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/nuoc-ngoai/" title="Tin Tức - Nước ngoài" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/remix/" title="Tin Tức - Remix" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tam-su-tinh-yeu/" title="Tin Tức - Tâm sự tình yêu" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tho-suu-tam/" title="Tin Tức - Thơ sưu tầm" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/cuoc-song/" title="Tin Tức - Cuộc sống" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/phan-mem/" title="Tin Tức - Phần mềm" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/kien-thuc-may-tinh/" title="Tin Tức - Kiến thức máy tính" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/hoc-tap/" title="Tin Tức - Học tập" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tai-lieu/" title="Tin Tức - Tài liệu" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/de-thi/" title="Tin Tức - Đề thi" type="application/rss+xml">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/assets/css/font-awesome.min.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/style.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/style.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/news.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/custom.css" type="text/css">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/jquery/jquery.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/language/vi.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/global.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/site.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/news.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/main.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/custom.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/bootstrap.min.js" type="text/javascript">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/assets/css/font-awesome.min.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/style.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/style.non-responsive.css">
<link rel="StyleSheet" href="https://nguoicodonvn2008.info/themes/default/css/news.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/custom.css">
<style type="text/css">
	body{background: #fff;}
</style>
    </head>
    <body>
<div id="print">
	<div id="hd_print">
		<h2 class="pull-left">.&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.</h2>
		<p class="pull-right"><a title=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;." href="https://nguoicodonvn2008.info/">https://nguoicodonvn2008.info</a></p>
	</div>
	<div class="clear"></div>
	<hr />
	<div id="content">
		<h1>Cách cài đặt và sử dụng PhotoPrism trên Raspberry Pi</h1>
		<ul class="list-inline">
			<li>Thứ hai - 19/09/2022 00:44</li>
			<li class="hidden-print txtrequired"><em class="fa fa-print">&nbsp;</em><a title="In ra" href="javascript:;" onclick="window.print()">In ra</a></li>
			<li class="hidden-print txtrequired"><em class="fa fa-power-off">&nbsp;</em><a title="Đóng cửa sổ này" href="javascript:;" onclick="window.close()">Đóng cửa sổ này</a></li>
		</ul>
		<div class="clear"></div>
		<div id="hometext">
		</div>
				<div class="imghome">
			<img alt="Cách cài đặt và sử dụng PhotoPrism trên Raspberry Pi" src="https://st.quantrimang.com/photos/image/2022/09/10/su-dung-photoprism-tren-raspberry-pi-1.jpg" width="460" class="img-thumbnail" />
		</div>
		<div class="clear"></div>
		<div id="bodytext" class="clearfix">
			<p style="text-align: justify;">Trong thế giới của các trình quản lý ảnh tự host có thể chạy trên&nbsp;Raspberry Pi, PhotoPrism là một trong những công cụ mạnh mẽ nhất. Nó tự hào có chức năng tìm kiếm ấn tượng, khả năng nhận dạng khuôn mặt và thậm chí là cung cấp bản đồ thế giới hiển thị các vị trí mà ảnh của bạn được chụp! PhotoPrism cũng dễ dàng cài đặt trên Raspberry Pi.</p>

<h2 style="text-align: justify;">Cách cài đặt PhotoPrism trên Raspberry Pi</h2>

<p style="text-align: justify;">Trước khi tiếp tục, bạn cần chuẩn bị&nbsp;Raspberry Pi làm máy chủ. Sau đó, bạn nên kết nối với Raspberry Pi của mình qua&nbsp;SSH (Secure Shell), rồi cập nhật và nâng cấp tất cả các gói đã cài đặt.</p>

<pre id="pre0">
<code>ssh pi@your.pi.local.ip
sudo apt update
sudo apt upgrade</code></pre>

<p style="text-align: justify;">PhotoPrism yêu cầu ít nhất 4GB RAM để chạy mà không gặp sự cố. Nếu không có 4GB, bạn có thể mở rộng bộ nhớ khả dụng trên Pi của mình bằng cách tăng dung lượng bộ nhớ ảo. Làm điều này sẽ nhanh chóng làm hỏng thẻ nhớ microSD của bạn, nhưng nếu bạn đang&nbsp;boot Raspberry Pi từ SSD, sẽ không có bất kỳ sự cố nào.</p>

<p style="text-align: justify;">PhotoPrism được cài đặt và cấu hình thông qua docker-compose, vì vậy hãy dùng lệnh wget với file docker-compose:</p>

<pre id="pre1">
<code>wget https://dl.photoprism.app/docker/docker-compose.yml</code></pre>

<p style="text-align: justify;">Sử dụng nano để chỉnh sửa file docker-compos.yml:</p>

<pre id="pre2">
<code>nano docker-compose.yml</code></pre>

<p style="text-align: justify;">Bạn sẽ phải đối mặt với một đoạn văn bản. Điều đầu tiên bạn cần thay đổi lúc này là mật khẩu, theo mặc định, được đặt thành&nbsp;<strong>&quot;insecure&quot;.</strong></p>

<figure>
<div style="text-align: justify;"><img alt="Thay đổi mật khẩu" data-i="0" data-src="https://st.quantrimang.com/photos/image/2022/09/10/su-dung-photoprism-tren-raspberry-pi-1.jpg" data-was-processed="true" height="325" src="https://st.quantrimang.com/photos/image/2022/09/10/su-dung-photoprism-tren-raspberry-pi-1.jpg" width="650" /></div>

<figcaption>
<div style="text-align: justify;">Thay đổi mật khẩu</div>
</figcaption>
</figure>

<p style="text-align: justify;">PhotoPrism được thiết lập để tìm kiếm ảnh trong&nbsp;<strong>/home/pi/Pictures.</strong>&nbsp;Nếu muốn, bạn có thể thay đổi điều này thêm trong phần&nbsp;<strong>Volumes.</strong>&nbsp;Lưu và thoát nano bằng&nbsp;<strong>Ctrl + O</strong>, rồi nhấn&nbsp;<strong>Ctrl + X</strong>.</p>

<p style="text-align: justify;">File docker-compile của PhotoPrism bao gồm một container cho chính PhotoPrism, cũng như một phiên bản MariaDB được chứa trong container. Sử dụng docker-compose để kéo những thứ này vào hệ thống của bạn và thiết lập các container:</p>

<pre id="pre3">
<code>docker-compose pull</code></pre>

<p style="text-align: justify;">Khi quá trình hoàn tất, hãy đưa các container trực tuyến vào chế độ tách rời - cho phép chúng chạy trong nền:</p>

<pre id="pre4">
<code>docker-compose up -d</code></pre>

<p style="text-align: justify;">Kiểm tra các container đã được khởi động thành công chưa với:</p>

<pre id="pre5">
<code>docker-compose ps</code></pre>

<figure>
<div style="text-align: justify;"><img alt="Kiểm tra các container đã được khởi động thành công chưa" data-i="1" data-src="https://st.quantrimang.com/photos/image/2022/09/10/su-dung-photoprism-tren-raspberry-pi-2.jpg" data-was-processed="true" height="142" src="https://st.quantrimang.com/photos/image/2022/09/10/su-dung-photoprism-tren-raspberry-pi-2.jpg" width="650" /></div>

<figcaption>
<div style="text-align: justify;">Kiểm tra các container đã được khởi động thành công chưa</div>
</figcaption>
</figure>

<p style="text-align: justify;">Bây giờ, bạn có thể truy cập PhotoPrism trên&nbsp;<em>your.local.pi.ip:2342.</em>&nbsp;Username là&nbsp;<em>admin</em>&nbsp;và mật khẩu là những gì bạn đã chỉ định trong docker-compos.yml.</p>

<h2 style="text-align: justify;">Truy cập PhotoPrism từ bên ngoài mạng gia đình</h2>

<p style="text-align: justify;">PhotoPrism sẽ hoạt động hoàn hảo bên trong mạng gia đình, nhưng nếu bạn muốn truy cập nó khi ở xa nhà, bạn cần có tên miền và file cấu hình Apache.</p>

<p style="text-align: justify;">Truy cập phần&nbsp;<strong>Advanced DNS</strong>&nbsp;của công ty đăng ký tên miền và tạo bản ghi mới. Đối với loại, hãy chọn&nbsp;<strong>A</strong>, host là&nbsp;<strong>&quot;@&quot;</strong>&nbsp;và trong trường giá trị, hãy nhập&nbsp;địa chỉ IP public&nbsp;của bạn.</p>

<p style="text-align: justify;">Quay lại terminal, thay đổi thư mục và tạo một file conf mới cho Apache.</p>

<pre id="pre6">
<code>cd /etc/apache2/sites-available/
sudo nano photos.conf</code></pre>

<p style="text-align: justify;">Trong file văn bản, dán:</p>

<pre id="pre7">
<code>&lt;VirtualHost *:80&gt;
ServerName your-domain-name.tld
ProxyPass /api/v1/ws ws://your.pi.local.ip:2342/api/v1/ws
ProxyPassReverse /api/v1/ws ws://your.pi.local.ip:2342/api/v1/ws
ProxyPass / http://your.pi.local.ip:2342/
ProxyPassReverse / http://your.pi.local.ip:2342/
ProxyRequests off
&lt;/VirtualHost&gt;</code></pre>

<p style="text-align: justify;">Lưu và thoát nano bằng&nbsp;<strong>Ctrl + O</strong>, rồi nhấn&nbsp;<strong>Ctrl + X</strong>.</p>

<p style="text-align: justify;">Kích hoạt cấu hình, sau đó khởi động lại Apache.</p>

<pre id="pre8">
<code>sudo a2ensite photos.conf
sudo service apache2 restart</code></pre>

<p style="text-align: justify;">Chạy Certbot để tìm nạp và triển khai chứng chỉ bảo mật và khóa mã hóa từ Let&#039;s Encrypt:</p>

<pre id="pre9">
<code>sudo certbot</code></pre>

<p style="text-align: justify;">Nhập địa chỉ email của bạn và chọn trang web bạn muốn bảo mật từ danh sách, sau đó khởi động lại Apache. Bây giờ, bạn có thể truy cập phiên bản PhotoPrism của mình bằng cách truy cập&nbsp;<em>https://your-domain-name.tld!</em>&nbsp;Một lần nữa, username là admin và mật khẩu là những gì bạn đã chỉ định trong docker-compos.yml.</p>

<h2 style="text-align: justify;">Bắt đầu với PhotoPrism trên Raspberry Pi</h2>

<p style="text-align: justify;">Nếu bạn sử dụng các giá trị mặc định trong file docker-compost.yml, PhotoPrism sẽ tìm kiếm ảnh trong&nbsp;<strong>/home/pi/Pictures.</strong></p>

<p style="text-align: justify;">Nếu bạn có một kho hình ảnh cục bộ trên máy, bạn có thể sử dụng bản sao bảo mật (scp) để gửi những hình ảnh này đến đúng thư mục trên Pi.</p>

<pre id="pre10">
<code>scp -r /path/to/your/images/* pi@your.pi.local.ip:/home/pi/Pictures/</code></pre>

<p style="text-align: justify;">Chúng sẽ không xuất hiện ngay lập tức trong PhotoPrism và bạn sẽ cần phải kích hoạt quá trình scan theo cách thủ công. Nhấp vào biểu tượng cuộn phim ở phía bên trái, chọn hộp&nbsp;<strong>Complete rescan</strong>, sau đó nhấn&nbsp;<strong>Start.</strong>&nbsp;Tùy thuộc vào kích thước bộ sưu tập hình ảnh, quá trình scan có thể mất hàng giờ hoặc thậm chí vài ngày và nếu bạn không có đủ RAM hoặc bộ nhớ ảo, sẽ làm hỏng Pi của bạn.</p>

<p style="text-align: justify;">Khi quá trình kết thúc, ảnh của bạn sẽ được lập chỉ mục, hình thu nhỏ sẽ được tạo, các đối tượng và khuôn mặt sẽ được gắn thẻ và bản đồ hiển thị các vị trí mà ảnh của bạn đã được chụp sẽ có sẵn. Trong trường tìm kiếm, bạn có thể tìm ảnh được chụp trong một năm hoặc tháng cụ thể, ở một quốc gia nhất định hoặc bằng một camera cụ thể.</p>

<figure>
<div style="text-align: justify;"><img alt="Ảnh được lập chỉ mục" data-i="2" data-src="https://st.quantrimang.com/photos/image/2022/09/10/su-dung-photoprism-tren-raspberry-pi-3.jpg" data-was-processed="true" height="330" src="https://st.quantrimang.com/photos/image/2022/09/10/su-dung-photoprism-tren-raspberry-pi-3.jpg" width="650" /></div>

<figcaption>
<div style="text-align: justify;">Ảnh được lập chỉ mục</div>
</figcaption>
</figure>

<p style="text-align: justify;">PhotoPrism cũng sẽ sử dụng công nghệ&nbsp;<a href="https://quantrimang.com/lang-cong-nghe/su-khac-biet-giua-ai-hoc-may-va-hoc-sau-157948" title="Machine learning là gì? Deep learning là gì? Sự khác biệt giữa AI, machine learning và deep learning">machine learning</a>&nbsp;hỗ trợ TensorFlow để tạo các tag, nhóm những hình ảnh lại với nhau. Chúng thường khá chính xác, mặc dù đôi khi cũng có thể bị sai lệch. Mặc dù PhotoPrism đã xác định chính xác các di tích, đài tưởng niệm, cầy Meerkats và mặt nạ trong phòng trưng bày thử nghiệm, nhưng lại gắn thẻ không chính xác mèo là khỉ, chó là thằn lằn và sách bìa cứng làm màn hình.</p>

<figure>
<div style="text-align: justify;"><img alt="Một số hình ảnh được gắn thẻ chính xác" data-i="3" data-src="https://st.quantrimang.com/photos/image/2022/09/10/su-dung-photoprism-tren-raspberry-pi-4.jpg" data-was-processed="true" height="330" src="https://st.quantrimang.com/photos/image/2022/09/10/su-dung-photoprism-tren-raspberry-pi-4.jpg" width="650" /></div>

<figcaption>
<div style="text-align: justify;">Một số hình ảnh được gắn thẻ chính xác</div>
</figcaption>
</figure>

<p style="text-align: justify;">Tính năng bản đồ thật tuyệt vời và miễn là bạn đã bật dữ liệu vị trí trên camera hoặc điện thoại của mình, bạn có thể sử dụng bản đồ để tìm kiếm các bức ảnh cụ thể hoặc hồi tưởng lại những kỳ nghỉ hay chuyến đi nước ngoài. Sử dụng con lăn chuột để cuộn và xem tốt hơn.</p>

<figure>
<div style="text-align: justify;"><img alt="Bản đồ xác định vị trí ảnh đã được chụp" data-i="4" data-src="https://st.quantrimang.com/photos/image/2022/09/10/su-dung-photoprism-tren-raspberry-pi-5.jpg" data-was-processed="true" height="337" src="https://st.quantrimang.com/photos/image/2022/09/10/su-dung-photoprism-tren-raspberry-pi-5.jpg" width="650" /></div>

<figcaption>
<div style="text-align: justify;">Bản đồ xác định vị trí ảnh đã được chụp</div>
</figcaption>
</figure>

<h2 style="text-align: justify;">Thêm ảnh vào PhotoPrism</h2>

<p style="text-align: justify;">PhotoPrism không có ứng dụng di động gốc, nhưng các nhà phát triển khuyên bạn nên cài đặt PhotoSync trên thiết bị Android hoặc iOS của mình để đồng bộ hình ảnh trên điện thoại với máy chủ PhotoPrism.</p>

<p style="text-align: justify;">Ngoài ra, bạn có thể sử dụng SyncThing để tự động upload lên từ các thư mục nhất định. Nếu đã có máy chủ NextCloud, bạn có thể sử dụng ứng dụng di động NextCloud để upload lên NextCloud và PhotoPrism sẽ sử dụng WebDav để kiểm tra những người đến gần đây theo lịch trình bạn đã đặt. Để bật tính năng này, hãy nhấp vào biểu tượng bánh răng ở cuối thanh bên, chọn tab&nbsp;<strong>Sync</strong>, sau đó&nbsp;<strong>Add server</strong>&nbsp;và nhập chi tiết của điểm cuối NextCloud WebDav. Nhấp vào&nbsp;<strong>Save</strong>, sau đó đặt tần suất bạn muốn PhotoPrism kiểm tra hình ảnh mới, có thể là hàng giờ, hàng tuần và không bao giờ.</p>
		</div>
				<div id="author">
						<p>
				<strong>Nguồn tin:</strong>
				Quantrimang.com
			</p>
		</div>
	</div>
	<div id="footer" class="clearfix">
		<div id="url">
			<strong>URL của bản tin này: </strong><a href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/cach-cai-dat-va-su-dung-photoprism-tren-raspberry-pi-6087.html" title="Cách cài đặt và sử dụng PhotoPrism trên Raspberry Pi">https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/cach-cai-dat-va-su-dung-photoprism-tren-raspberry-pi-6087.html</a>

		</div>
		<div class="clear"></div>
		<div class="copyright">
			&copy; .&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.
		</div>
		<div id="contact">
			<a href="mailto:admin@nguoicodonvn2008.info">admin@nguoicodonvn2008.info</a>
		</div>
	</div>
</div>
        <div id="timeoutsess" class="chromeframe">
            Bạn đã không sử dụng Site, <a onclick="timeoutsesscancel();" href="https://nguoicodonvn2008.info/#">Bấm vào đây để duy trì trạng thái đăng nhập</a>. Thời gian chờ: <span id="secField"> 60 </span> giây
        </div>
        <div id="openidResult" class="nv-alert" style="display:none"></div>
        <div id="openidBt" data-result="" data-redirect=""></div>
		</script>
		<div class="car-top">
  <span><img src="https://nguoicodonvn2008.info/themes/default/images/car.png" alt=""></span>
</div>
<script src="https://nguoicodonvn2008.info/assets/js/jquery/jquery.min.js"></script>
<script>var nv_base_siteurl="/",nv_lang_data="vi",nv_lang_interface="vi",nv_name_variable="nv",nv_fc_variable="op",nv_lang_variable="language",nv_module_name="news",nv_func_name="savefile",nv_is_user=0, nv_my_ofs=-4,nv_my_abbr="EDT",nv_cookie_prefix="nv4c_e856T",nv_check_pass_mstime=1738000,nv_area_admin=0,nv_safemode=0,theme_responsive=0,nv_recaptcha_ver=2,nv_recaptcha_sitekey="",nv_recaptcha_type="image",XSSsanitize=1;</script>
<script src="https://nguoicodonvn2008.info/assets/js/language/vi.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/global.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/site.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/news.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/main.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/custom.js"></script>
<script type="application/ld+json">
        {
            "@context": "https://schema.org",
            "@type": "Organization",
            "url": "https://nguoicodonvn2008.info",
            "logo": "https://nguoicodonvn2008.info/uploads/angel.gif"
        }
        </script>
<script src="https://nguoicodonvn2008.info/themes/default/js/bootstrap.min.js"></script>
<script type="text/javascript">
var $scrolltop = $('.car-top');
$scrolltop.on('click', function () {
    $('html,body').animate({
        scrollTop: 0
    }, 800);
    $(this).addClass("car-run");
    setTimeout(function(){ $scrolltop.removeClass('car-run');}, 1000);
    return false;
});
$(window).on('scroll', function ()
{ 
    if($(window).scrollTop() >= 200)
    {
        $scrolltop.addClass("show");
        $scrolltop.addClass("car-down");
    }
    else
    {
       $scrolltop.removeClass("show");
       setTimeout(function(){ $scrolltop.removeClass('car-down');}, 300);
    }
});
</script>
</body>
</html>