Vaultwardenãå°å ¥ããã®ã§ãå®å šæ§ã«ã€ããŠè©äŸ¡ãã
èæ¯ ãããã¡ãã£ãšãããæ¥ãããã話ãªãã§ãããã åã¯é·ãããšããèªäœãã¹ã¯ãŒã管çã·ã¹ãã ãçãªãã®ãéçšããŠããŸããã ã©ããã£ãŠããããšãããšã èªåãã¹ãããŠããRocket.Chat ã«ãèªåå°çšã®ãã£ã³ãã«ãã²ã£ããç«ãŠãŠã 誰ãå ¥ããªãããã«éµããããŠã ãã®ã¹ã¬ããã« âãã°ã€ã³æ å ±ãã©ãã«ä»ãã§æçš¿ããâ ãšããã ããæå³ 究極ã®ã¢ããã° DX ããã£ãŠããããã§ãã ãã¡ããäžå¿ãå®å šé¢ã¯å šãèããŠãªãã£ãããã§ã¯ãªããŠã Rocket.Chat ã®ããŒã¿ã¯ gocryptfs ã§æå·åãããã¹ãã¬ãŒãžã«ä¿å éä¿¡çµè·¯ã¯ https ã§æå·å ãµãŒãã¯èªåã®ç®¡çäž ãã£ã³ãã«ã¯èªåããã¢ã¯ã»ã¹ã§ããªã ãšãäžå¿ãæäœéã®å®å šæ§ãã¯ç¢ºä¿ããŠããã€ããã§ããã ã ãã©ãäžã®äžã§ã¯ã¿ã㪠LastPass ã ã® 1Password ã ã® Bitwarden ã ã®ãšèšã£ãŠãããããªãã§ããã åã¯ãããã âæµè¡ãç©â ã«çããšãããã¡ãã£ãšãã£ãŠã ããã¹ã¯ãŒã管çããŒã«ã£ãŠæ¬åœã«å¿ èŠïŒã ãšé·å¹Žã¹ã«ãŒããŠãããã§ãããã ãããªãšãããšã³ãžãã¢ã®å 茩ãã ãBitwarden ã® OSS ã¯ããŒã³ã§ Vaultwarden ã£ãŠããã®ããã£ãŠãèªåãã¹ããç°¡åã§ããã£ã¡ãè¯ããã ãšããããããŸããã ã§ãè§Šã£ãŠã¿ãããUI ã綺éºã ããã¹ãã¬ãŒãžç®¡çãã©ã¯ã ãã æ£çŽãããã¯ããªãã€ã±ãŠããªããšæããããã§ãã ããããããããåã®æªãçãçºåããŸãã âä»çµã¿ãåãã£ãŠããªããã®ã«éèŠãªæ å ±ãé ããã®ãå«â ããã¯æ§æ Œãªãã§ããã ãã©ãã¯ããã¯ã¹ã¯ä¿¡çšã§ããªãã æå·åã®ä»çµã¿ãããããªããšäžå®ã«ãªãã æãããŠã èªåã®ãµãŒãïŒãããã¬ã³ã¿ã«ïŒã« Vaultwarden ã眮ããŠã ããã«äººçã®å šãã¹ã¯ãŒããã¶ã¡èŸŒãã§å€§äžå€«ãªã®ãïŒ ãšããç念ãã©ãããŠãæ¶ããªãã çµè«ããèšããšïŒ VaultwardenïŒBitwardenïŒã¯ãããããRocket.Chatã«ãã¹ã¯ãŒããæžããŠãé ã®æ¯ãããªãã»ã©å®å šãã ã£ãã 調ã¹ãã°èª¿ã¹ãã»ã©ãããã¯ä¿¡é Œã§ããæå·èšèšã ãªããšæããã®ã§ã ä»åã¯ãã® å®å šæ§ã®ä»çµã¿ ãããã°ãšããŠãŸãšããããšæãã å®å šæ§ã®è©äŸ¡ Bitwarden / Vaultwarden ãæ±ãæå·ã¢ãã«ã¯ã ãããã ãŒãç¥èæå·ïŒZero-Knowledge EncryptionïŒ ã§ããã ...
Return_path_memo
ãã€ãnatã®èšå®ãå¿ããŠããŸãã®ã§ããã«æ®ããŠãããã ss@kong:~$ sudo sysctl -w net.ipv4.ip_forward=1 && \ sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -d 192.168.10.0/24 -o enp9s0 -j MASQUERADE && \ sudo iptables -A FORWARD -i tun0 -o enp9s0 -s 10.8.0.0/24 -d 192.168.10.0/24 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT && \ sudo iptables -A FORWARD -i enp9s0 -o tun0 -s 192.168.10.0/24 -d 10.8.0.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT
Sre_google
SREæ¬ãèªãã§ãã ãã¡ã
OpenVPNãšFRR(OSPF)ãçµã¿åããã倿 ç¹VPNã«ãŒãã£ã³ã°ã®éçãšåŠã³
èæ¯ è€æ°æ ç¹ïŒA, B, Cãªã©ïŒã OpenVPN çµç±ã§æ¥ç¶ãã **2系統ã®VPNãã³ãã«ïŒ10.8.0.0/24 ãš 10.10.0.0/24ïŒ**ãçµç±ããŠçµè·¯åé·åããããïŒopenvpnãµãŒãã¯ç¬ç«ãã2ãã·ã³ïŒ ãããªããŒãºããæ€èšŒãå§ããŸããã åæ ç¹ã¯ããããããŒã«ã«LANïŒäŸ: 192.168.1.0/24, 192.168.2.0/24, 192.168.3.0/24ïŒãæã¡ã ãããã OSPF (FRRouting) ã§èªåçµè·¯åŠç¿ãããŠã VPNãã³ãã«è¶ãã«çžäºéä¿¡ã§ããããã«ãããããšããæ§æã§ãã ããããã£ãããš OpenVPNã§åæ ç¹ãæ¥ç¶ïŒå€æ ç¹site-to-site VPNïŒ FRR (OSPF) ã䜿ã£ãŠåçã«ãŒãã£ã³ã° ãã³ãã«ããšã«ã³ã¹ããèšå®ããŠçµè·¯éžæ ã§ããã° route-nopull ã§æåã«ãŒãã£ã³ã°ãå¶åŸ¡ ç®æšã¯ãOpenVPNãã³ãã«ã2æ¬èµ°ãããŠãFRRã§çµè·¯éžæãä»»ãããããšã§ããã ãããå®çŸããã«ããããè²ã ãšããã£ãã®ã§ç¥èŠããŸãšããŠããããšæããŸãã OpenVPNã®ã«ãŒãã£ã³ã°ã®æ§é OpenVPNã¯ãŠãŒã¶ã©ã³ãã§åäœãã/dev/net/tun ããã€ã¹ãéããŠéä¿¡ããŸãã Linuxã«ãŒãã«ã¯tunããã€ã¹ã«ãã±ãããåºã ããããå ã¯**OpenVPNããã»ã¹ïŒãŠãŒã¶ã©ã³ãïŒ**ãåãåããç¬èªã®å éšã«ãŒãã£ã³ã°ããŒãã«ã§è»¢éãè¡ã ã€ãŸããLinuxã®ã«ãŒãã£ã³ã°ããŒãã«ïŒip routeïŒãšã¯å¥äžçã§åããŠããŸããïŒãããéåžžã«å€§äºã§ããopenvpnãµãŒããªãã®ã«ãŒãã£ã³ã°ããŒãã«ãã¡ãããšèšå®ãããŠããªããšãã¯ã©ã€ã¢ã³ãããå±ãããã±ãããã©ã®ã¯ã©ã€ã¢ã³ãã«è»¢éããã°ããããããããŸãããã¡ãªã¿ã«ãopenvpnã®ã«ãŒãã£ã³ã°ããŒãã«ã¯/var/log/openvpn-status.logãã確èªå¯èœã§ãïŒ push ãš route-nopull ã®é¢ä¿ OpenVPNãµãŒãã¯ã¯ã©ã€ã¢ã³ãã«å¯Ÿã㊠push âroute âŠâ ãéãããšã§ã ã¯ã©ã€ã¢ã³ãã®OSã«ããŠãŒã¶ã©ã³ãã«ãã«ãŒãæ å ±ãæ³šå ¥ããŸãã äžæ¹ãã¯ã©ã€ã¢ã³ãèšå®ã§ route-nopull ãæå¹ã«ãããšã ãã® push æ å ±ããã¹ãŠæåŠããŸãã frrã§ã«ãŒãã£ã³ã°ãããããå Žåã«ã¯ãroute-nopullã«ããŠãããªããšã0.0.0.0/1ãš128.0.0.1/1ãOSã®ã«ãŒãã£ã³ã°ããŒãã«ã«ç»é²ããããã¹ãŠã®ãã±ãããç¹å®ã®nicããåºãããã«èšå®ãããŠããŸãã®ã§æ³šæãå¿ èŠïŒserveråŽã§**push âredirect-gateway def1 bypass-dhcpâ**ãå ¥ã£ãŠããå ŽåïŒ FRR(OSPF)ãçµã¿åãããŠã解決ããªãçç± FRRã§OSPFãèµ°ããããšã VPNãã³ãã«è¶ãã«çžææ ç¹ã®LANæ å ±ïŒäŸ: 192.168.x.x/24ïŒãåŠç¿ãããŸãã ããã«ãããOSã¬ãã«ã®ã«ãŒãã£ã³ã°ããŒãã«ã¯æŽæ°ãããŸãã ãããïŒ OpenVPNãµãŒãã¯ãã®OSã«ãŒããå šãåç §ããŸããã OpenVPNããã»ã¹ã¯ç¬èªã«ããã®LANã¯ã©ã®ã¯ã©ã€ã¢ã³ãã®èåŸã«ããããã iroute ã§ç¥ã£ãŠããªããã°ããã±ãããã©ãã«è»¢éãã¹ãã倿ã§ããŸããã èªåã®å Žåã¯ãopenvpnãµãŒãã®/etc/openvpn/ccd以äžã«æžãã«ãŒãã£ã³ã°ãã¡ã€ã«ã®æ å ±ãééã£ãŠãããã¯ã©ã€ã¢ã³ã1 -> ãµãŒãã¯ãã±ãããå±ããŠãããããµãŒããã¯ã©ã€ã¢ã³ã2å®ã®ãã±ãããããŸã転éã§ããdropããŠããŸã£ãŠããã®ãåå ã§ããã ...
Return_path_problem
以åã®èšäº https://blog.ingenboy.com/post/problem_site2site/ ãã¡ãã®èšäºã§VPNã¯ã©ã€ã¢ã³ããä»ããŠãå¥ã ã®NWã»ã°ã¡ã³ãã«æå±ãããµãŒãéã§éä¿¡ãããæ¹æ³ã軜ã説ç®ããŸããã ãã®åé¡ã¯ããªã¿ãŒã³ãã¹åé¡ã ã£ãã®ã§ãããä»åãæ¹ããŠãªã¿ãŒã³ãã¹åé¡ã«ã€ããŠæžãããã ãŸãã 1. IPå±€ã§ã®åºæ¬ã«ãŒã« éä¿¡å IP ãš å®å IP ã¯ãã±ããã«åã蟌ãŸããŠããŠã転éäžã¯å€ãããªãïŒâ»NATããªãéãïŒã åãã¹ããã«ãŒã¿ã¯ãèªåã®ã«ãŒãã£ã³ã°ããŒãã«ããåç §ããŠããã®å®å IPã¯ã©ãã«æž¡ãã¹ããïŒ ãæ±ºããã å®å ãèªåã®çŽæ¥ã€ãªãã£ãŠãããããã¯ãŒã¯ãããªããã°ã**次ã®ãããïŒã²ãŒããŠã§ã€ïŒ**ã«æž¡ãã ä»ååé¡ãèµ·ãã£ãæ§æ [jhonny] 192.168.1.4 tun0:10.8.0.14 â (LAN:192.168.1.0/24) â ããã©ã«ãã»ãŒVPN (0.0.0.0/1,128.0.0.0/1 â 10.8.0.13) ⌠[å®¶åºã«ãŒã¿(1ç³»)] 192.168.1.1 â ïŒã€ã³ã¿ãŒãããåŽãžïŒ ⌠[VPN Server] tun0:10.8.0.1 gw:162.x.xxx.xxx ã«ãŒã: 192.168.2.0/24 â 10.8.0.2(tun0) ⌠[kami] 192.168.2.10 tun0:10.8.0.30 ã«ãŒã: 192.168.2.0/24 â enp6s0(çŽçµ) ⌠[Mac] 192.168.2.3 (LAN:192.168.2.0/24) ããã©ã«ãGW: 192.168.2.1ïŒâ»ããããã¢ïŒ 2. ä»åã®äŸã§æµãã远ãïŒãªã¿ãŒã³ãã¹ããªããŠpingãè¿ã£ãŠããªããã¿ãŒã³ïŒ ãµãŒããã(jhonny)Mac ã« ping ãµãŒã(10.8.0.1) ãã192.168.2.3ã«ICMPãéãããããšæã VPNãã³ãã«ãçµç±ã㊠kaminogou(192.168.2.10) ã«å±ã kaminogou ã® Linux ãã«ãŒãã£ã³ã°ãèŠãŠã192.168.2.3ã¯èªåã®LANçŽçµã ãããã®ãŸãŸåºãã Mac ã® en0 ã§ãéä¿¡å =10.8.0.1 å®å =192.168.2.3ãã® ICMP ãèŠããïŒãããŸã§ã¯OKïŒ Mac ãè¿ä¿¡ãããšã Mac ããå®å =10.8.0.1ã«è¿ãããããšæã Mac ã®ã«ãŒãã£ã³ã°ããŒãã«ãèŠã 10.8.0.0/24 ã®çµè·¯ãç¡ã ãªã®ã§ããã©ã«ãã²ãŒããŠã§ã€(192.168.2.1)ã«æãã 192.168.2.1ïŒå®¶åºçšã«ãŒã¿ãªã©ïŒãã10.8.0.0/24 ãªããŠç¥ããããšæšãŠã ããããªã¿ãŒã³ãã¹åé¡ åã ãªãéä¿¡å ã10.8.0.1ã«ãªãã®ãïŒ -> ãµãŒãããéã£ãããã ãªãå®å šçè§£ã ...
Ubuntu 24.04 ã§ RTX 5060 Ti ãåãããŸã§ã®å¥®éèš
æŠèŠ 2025幎9æãRTX 5060 Ti ãæ°ãã·ã³ã«å·®ã㊠Ubuntu 24.04 ãå ¥ãããâŠæ¡ã®å®ãã©ã€ãèªèã§ããããããŸããã ãã®èšäºã§ã¯ãæåã«ééãããšã©ãŒãããæçµçã« nvidia-smi ã§ 5060 Ti ãèªèããããŸã§ã®æµãããŸãšããŸãã 1. æåã«åºãçç¶ lspci ã§ã¯ GPU ãèŠããŠããïŒNVIDIA Corporation Device 2d04ïŒã ããã nvidia-smi ãå©ããšãšã©ãŒïŒ NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. dmesg ã«ã¯ probe failed with error -1 ãé£çºã ãã®æç¹ã§ã¯ããã©ã€ãã GPU ãèŠã€ããŠããã©ãåæåã«å€±æããŠããç¶æ ã§ããã 2. CSM ãš UEFI ã®å£ 調ã¹ãŠã¿ããšãèªåã® Ubuntu 㯠Legacy (CSMæå¹) ã¢ãŒãã§ã€ã³ã¹ããŒã«ãããŠããããšãçºèŠã ææ°ã® GPU 㯠UEFIããŒãåæ ãªã®ã§ãCSM æå¹ã ãš GPU åæåã«å€±æããã¡ã§ãã 察å¿ããããš BIOS ã§ CSM ã OFF Above 4G Decoding = Enabled Resizable BAR = Enabled ãã㊠Ubuntu ã UEFIã¢ãŒãã§åã€ã³ã¹ããŒã« ããã§ãBootable device not foundãåé¡ã解決ããç°å¢ãææ°GPUã«å¯Ÿå¿ã§ããããã«ãªããŸããã ...
MyMap
èæ¯ å°çãæ¥œããã£ãããããã£ã¡ã奜ãã§ãã ã§ã Google Maps ã£ãŠäœ¿ããšãçµå±ã¯ Google ã£ãŠäŒç€Ÿã«ãäžè©±ã«ãªã£ãŠãããã§ããã åã¯ãã®ãã©ã£ãã®äŒç€Ÿã®ãäžè©±ã«ãªã£ãŠããç¶æ ããããŸã奜ãã§ã¯ãªãã ã ãããµãŒããããŒã¿ã»ã³ã¿ãŒãèªåéçšãããã Slack ã®ä»£ããã« Rocket.Chat ã䜿ããã JIRA ã§ã¯ãªã Redmine ã䜿ããã§ãã ããã Google Maps ãèªåã§éçšããã«ã¯ã©ããããïŒ ãããä»åã®ããŒãã§ãã å°å³ã¢ããªãã©ããã£ãŠåããŠããã å¿ èŠãªãã®ã¯å€§ããåããŠäºã€ã ã¬ã³ããªã³ã°ãšã³ãžã³ïŒå°å³ãæç»ããã©ã€ãã©ãªïŒ ãããããŒã¿ïŒå°å³ãã®ãã®ã®ãœãŒã¹ïŒ OSSã®ã¬ã³ããªã³ã°ãšã³ãžã³ïŒã©ã€ãã©ãªïŒ Leaflet OpenLayers MapLibre GL JS ããããã§ããŒã¹ããããæ¯èŒã§ãããã¢ãäœããŸããã ð æ¯èŒãµã€ã OSSã®ãããããŒã¿ éžæè¢ã¯è²ã ãããŸãã OpenStreetMap (OSM) äžçäžã®ãã©ã³ãã£ã¢ãäœãå°å³ããŒã¿ãã©ã¹ã¿ïŒç»åã¿ã€ã«ïŒãé åžãããŠããããèŠãç®ã¯å°ãå€èãã å®éã®äžèº«ã¯ãã¯ã¿ã ããé ä¿¡ãããŠããå°å³ã¯ãããããæç»ãããŠããã©ã¹ã¿ã¿ã€ã«ãïŒå ããã¯ã¿ãªããããåºãã°ããããããããšã¯æã£ãïŒ OpenMapTiles OSMããŒã¿ããã¯ãã«ã¿ã€ã«åããOSSã ããã䜿ãã°ãGoogle Maps 䞊ã¿ã«ããããªãã¯ãã«å°å³ãå®å šèªåã§éçšã§ããã ã©ã¹ã¿ã¯ãã£ã±ã綺éºã«æ ããªãã§ããããªã®ã§ãã¯ãã«ããããæ¬²ããã®ã§ããã ãã¯ãã«ãããã¯èªåã§äœããããªãã£ãœãã§ããïŒMaptilerã£ãŠäŒç€ŸãOSMãææããããšããŠããã®ã§æ°ãã€ããŠïŒ å®éã« OSM â Vector Map ãèªåãã¹ãããæµã 1. OSMããŒã¿ã®ããŠã³ããŒã Geofabrik ããå°åããšã® .osm.pbf ãèœãšãã äŸ: æ¥æ¬å šäœ https://download.geofabrik.de/asia/japan.html 2. OpenMapTiles ã§ãã¯ãã«ã¿ã€ã«çæ ãŸã㯠GitHub ãã OpenMapTiles ãååŸããŸãã ...
Create_RAG
èæ¯ gmailã®è¿çãèªååãããããžã§ã¯ããæšé²ããŠããŸãã ããã§ãRAGã§ãããããã ãã¶æéãçµã£ãŠããŸããããã£ãããã£ãŠãããããšæãã RAG = ãRetrieval-Augmented Generationã ãããçè§£ã§ããã°ããä»çµã¿ãçè§£ãããåç¶ã§ãã ãäžå¿èª¬æããŠãããŸãã RAGã®ä»çµã¿ ãã£ã¡ãç°¡åã«ãããšã ãã¯ãã«ããŒã¿ããŒã¹ã«ä¿åããããã¬ããžãã åãåãããšé¡äŒŒãããã¬ããžãæ€çŽ¢ãåŒã£åŒµãåºã ãããå ã«GEN AIã«åçãäœããã ãšããæµãã«ãªããŸãã 1ã§ãã¯ãã«ããŒã¿ããŒã¹ã«ãã¬ããžãä¿åããæã«ã¯ãå ã®èªç¶èšèªããã¯ãã«è¡šçŸã«å€æããç©ãæ ŒçŽããå¿ èŠããããŸãã ãã®ãã¯ãã«å€æåšã®ããšããEmbedding modelããšèšããŸãã x: èªç¶èšèª f: Embedding model ãšãããš y = f(x) ã§åŸãããyïŒãšããã«å¯Ÿå¿ããxïŒããã¯ãã«DBã«æ ŒçŽããŠããããã§ããã x_q: åãåãããæ¥ãæ y_q = f(x_q) ããåŸãããy_qãšé¡äŒŒããŠããy_1, y_2, y_3, ,,, y_nãæ€çŽ¢ãã ããã«å¯Ÿå¿ããx_1, x_2, x_3, ,,, x_n ãåºåãã ans = LLM(x_1, x_2, x_3, ,,, x_n) ãšãæãã§åçãäœããããšããæµãã§ãã Embedding modelsã®éžå® ãã¡ãã®èšäºã«æžããŠããéããEmbedding modelã®éžå®ãRAGå šäœã®åççææ§èœã«å€§ãã圱é¿ããã ãŸããchatGPTã«èããçµæãããäžçªããã®ããªã BAAI/bge-base-en ä»åRAGãæ§ç¯ããã«ããã䜿ããœãã vector DB: qdrant embedding model: BAAI/bge-base-en LLM: phi4 14b on ollama (@ rtx 3060 12g) Langchainãªã©ã®çµ±åçãªã©ã€ãã©ãªã¯äœ¿ããªãããªããªãèªç±åºŠãäœãããã vector DBã§ã®æ€çŽ¢ãæ®éã«REST APIã§ã§ããã®ã§åé¡ãªãããã ...
Googleapi Gmail Autoreply
èæ¯ åèšéçºå ã®æ¹ããLLMã䜿ã£ãŠåãåãããäºçŽæ¥åã®èªååãã§ããªãããšèãããã ãã¡ããã§ããŸããããšåã¯çããããã§ãã ããããäžågmailã®å 容ãããŒã«ã«ã«æã£ãŠæ¥ãªããšå§ãŸããŸããããïŒïŒ ãªã®ã§ãgmailã®ã¡ãŒã«ããµãŒãã«æã£ãŠããããã«google apiãå©ããŸãã æ§æ webããã³ããšã³ã -> ãµãŒãïŒã¢ããªïŒ -> google api google apiã®èšå®æ¹æ³ 1. ãããžã§ã¯ãäœæ https://console.cloud.google.com/ ã«ã¢ã¯ã»ã¹ 以äžã®åçã®google cloudããŽã®é£ã«ãããã¿ã³ãã¯ãªãã¯ããã®ç»åã§èšããšãgmail api accessïŒããããæ°ãããããžã§ã¯ããäœãïŒ ãããžã§ã¯ãåïŒäŸïŒgmail-auto-replyïŒãå ¥åãããäœæã 2. Gmail API ãæå¹ã«ãã google cloudããŽã®é£ã«ãããã¿ã³ãããå ã»ã©äœã£ããããžã§ã¯ãã«ãããžã§ã¯ãã倿Žãã å·ŠåŽã¡ãã¥ãŒãAPIãšãµãŒãã¹ã â ãã©ã€ãã©ãªããæŒã æ€çŽ¢ããã¯ã¹ã« Gmail API ãšå ¥åããã¯ãªãã¯ã enableãã¿ã³ãæŒã 3. OAuth åæç»é¢ãèšå®ãã å·ŠåŽã¡ãã¥ãŒãAPIãšãµãŒãã¹ãâãOAuthåæç»é¢ã 次ã®ãããªç»é¢ãåºãŠãããget startedãæŒã 以äžã®æ å ±ãå ¥åãã ãŠãŒã¶ãŒã¿ã€ã å€éšïŒåºæ¬ã¯ããã§OKïŒ ã¢ããªå ä»»æïŒäŸïŒAuto MailerïŒ ãµããŒãã¡ãŒã« èªåã®Gmailã§OK éçºè é£çµ¡å æ å ± èªåã®ã¡ãŒã«ã¢ãã¬ã¹ 4. èªèšŒæ å ±ãäœæïŒOAuth 2.0 ã¯ã©ã€ã¢ã³ãIDïŒ å·Šã¡ãã¥ãŒãèªèšŒæ å ±ãâãïŒèªèšŒæ å ±ãäœæãâãOAuth ã¯ã©ã€ã¢ã³ãIDã 以äžãå ¥åãã ã¢ããªã±ãŒã·ã§ã³ã®çš®é¡ â ãWeb ã¢ããªã ååã¯äœã§ãOKïŒäŸïŒauto-mail-backendïŒ ãæ¿èªæžã¿ã®ãªãã€ã¬ã¯ãURIãã«ä»¥äžã远å ïŒ http://localhost:3000/auth/google/callback https://yourdomain.com/auth/google/callback (å®éã«äœ¿ããµãŒã) äœæãã¿ã³ãæŒããã¯ã©ã€ã¢ã³ãã·ãŒã¯ã¬ããã衚瀺ãããã®ã§ãããããã¯ããŠã³ããŒã 5 ã¹ã³ãŒãã远å ïŒå¿ èŠãªãïŒ ãããŸã§ã§èšå®ãå®äºã次ã«ããããšã¯ä»¥äžã ...
èªå® GenAIãå ¬éãããã©ã誰ã§ãè§Šããã®ã¯ã¡ãã£ãšæãã®ã§BasicèªèšŒãããã話
èæ¯ èªå® ã§åãããŠãã Ollama + GenAI ã¢ãã«ïŒäŸãã° phi4:14bïŒããã€ã³ã¿ãŒãããè¶ãã«äœ¿ããããªã£ããOpenVPN ã§ç©Žãéããäžã§ãNginx ã䜿ã£ãŠèªå® ãã·ã³ãžã®ãããã·ãæ§æã [ ã€ã³ã¿ãŒããã ] â VPSã®nginx (443) â OpenVPNçµç±ã®ãã©ã€ããŒãIP (100.64.x.x) â èªå® ã®GenAIãµãŒã (Ollama) 確ãã«äŸ¿å©ã§ã¯ããããã誰ã§ã䜿ããç¶æ ãã«ããŠããŸãã®ã¯å°ãæããªã£ãã ãªã®ã§ãBasicèªèšŒ ãå°å ¥ããŠããŠãŒã¶ãŒãšãã¹ã¯ãŒããç¥ããªããšã¢ã¯ã»ã¹ã§ããªãããã«ããã Nginx ã« BasicèªèšŒã远å ããæé èªèšŒçšãã¹ã¯ãŒããã¡ã€ã«ãäœæãã ãŸããhtpasswd ã³ãã³ãã䜿ã£ãŠ .htpasswd ãäœæã sudo apt install apache2-utils # ååã®ã¿ sudo htpasswd -c /etc/nginx/.ollama_htpasswd user1 2. Nginx ã®èšå®ã«èªèšŒã远å /etc/nginx/nginx.conf server { listen 443 ssl; server_name hoge.ingenboy.com; ssl_certificate /etc/letsencrypt/live/ollama.ingenboy.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/ollama.ingenboy.com/privkey.pem; add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'Origin, Content-Type, Accept'; location / { # Basic èªèšŒãæå¹ã«ãã auth_basic "Restricted Area"; auth_basic_user_file /etc/nginx/.ollama_htpasswd; proxy_pass http://100.64.1.41:11434; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } 3. åæ sudo nginx -t && sudo systemctl reload nginx 4. ç¢ºèª curl -v https://ollama.ingenboy.com â 401 Unauthorized ...