Run Deepseek R1 With Ollama + (Open Webui Docker) Easy way

this is how to run Deepseek locally in your computer :

download and install ollama

after install run this in terminal, or find other model in ollama library


1
ollama run deepseek-r1:8b

download and install docker

run this if you have nvidia card


1
docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda

run this if you don’t have nvidia card


1
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

to access it type localhost:3000 in browser, and start chat with AI locally

if you prefer online, use Deepseek in here

Mikrotik Script For auto reconnect PPPOE to get Public IP

I’m using mikrotik and my isp keep changing my ip from time to time, sometime i get public ip or private ip, so to keep to get public ip i need to reconnect until i get public ip, here’s some script that i use :


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
:local WANINTERFACE [CHANGE THIS WITH WAN PPPOE INTERFACE]

:local WANIP [/ip address get [find where interface=$WANINTERFACE ] value-name=address];

:set WANIP [:pick $WANIP 0 ([:len $WANIP]-3) ];

:if ($WANIP ~"^[0-9 ]*10")  do={
:local c 0;
:log warning "Private ip address found !!!";
:log warning "Reset $WANINTERFACE  !!!";

:do {
:set $c ($c+1);
/interface pppoe-client enable $WANINTERFACE;
:delay 15s
:set WANIP [/ip address get [find where interface=$WANINTERFACE ] value-name=address];
:set WANIP [:pick $WANIP 0 ([:len $WANIP]-3) ];
:log warning "Attempt $c IP : $WANIP !!!";
:delay 5s
} while=($WANIP ~"^[0-9 ]*10")

:log warning "Public IP - Found, OK ! end script";

} else={
:log warning "Public IP - $WANIP - Found, OK ! No action required";
}

don’t forget to add it to schedule and repeat it.

DDNS Cloudflare API


Because i move my dns service from Namecheap to Cloudflare, i need to update my dynamic isp ip one of my subdomain in cloudflare with ddns cloudflare api and here some script that i use :

THE SCRIPT

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/sh
[ ! -f /var/tmp/current_ip.txt ] && touch /var/tmp/currentip.txt

zone_name="root_domain"
EMAIL="cloudflare_email"
AUTHKEY="cloudflare_api"

DNS1="first_domain"
DNS2="second_domain"

NEWIP=$(curl -s http://ipv4.icanhazip.com)
DOMAINIP1=$(dig "$DNS1" +short | awk '{ print ; exit }')
DOMAINIP2=$(dig "$DNS2" +short | awk '{ print ; exit }')
zone_identifier=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones?name=$zone_name" -H "X-Auth-Email: $EMAIL" -H "X-Auth-Key: $AUTHKEY" -H "Content-Type: application/json" | grep -Po '(?<="id":")[^"]*' | head -1 )

dns1_identifier=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$zone_identifier/dns_records?name=$DNS1" -H "X-Auth-Email: $EMAIL" -H "X-Auth-Key: $AUTHKEY" -H "Content-Type: application/json" | | grep -Po '(?<="id":")[^"]*' | head -1)
dns2_identifier=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$zone_identifier/dns_records?name=$DNS2" -H "X-Auth-Email: $EMAIL" -H "X-Auth-Key: $AUTHKEY" -H "Content-Type: application/json" | | grep -Po '(?<="id":")[^"]*' | head -1) if [ "$NEWIP" = "$DOMAINIP1" ] then echo "IP address unchanged" else curl -X PUT "https://api.cloudflare.com/client/v4/zones/$zone_identifier/dns_records/$dns1_identifier" \ -H "X-Auth-Email: $EMAIL" \ -H "X-Auth-Key: $AUTHKEY" \ -H "Content-Type: application/json" \ --data "{"id":"$zone_identifier","type":"A","name":"$DNS1","content":"$NEWIP","proxied":true}" echo "$DNS1 IP address changed to $NEWIP from $DOMAINIP1" > /var/tmp/currentip.txt
fi

if [ "$NEWIP" = "$DOMAINIP2" ]
then
echo "IP address unchanged"
else
curl -X PUT "https://api.cloudflare.com/client/v4/zones/$zone_identifier/dns_records/$dns2_identifier" \
-H "X-Auth-Email: $EMAIL" \
-H "X-Auth-Key: $AUTHKEY" \
-H "Content-Type: application/json" \
--data "{"id":"$zone_identifier","type":"A","name":"$DNS2","content":"$NEWIP","proxied":true}"
echo "$DNS2 IP address changed to $NEWIP from $DOMAINIP2" >> /var/tmp/currentip.txt
fi

DON’T FORGET

don’t forget to set chmod +x to the file
add it to crontab

ASP.NET Core RC2 To RTM

So today i try to migrate from asp.net core RC2 to RTM, here’s the step i do when migrating

1. Uninstall all Microsoft.NET Core RC2 Runtime, SDK, and Tooling Preview 1
2. Install the new Microsoft.NET Core RTM, SDK, and Tooling Preview 2
3. Change all version in project.json from 1.0.0-rc2-final to 1.0.0
4. Change all version in project.json from 1.0.0-preview1-final to 1.0.0-preview2-final
5. Find global.json in your solution root, and change it from 1.0.0-preview1-002702 to 1.0.0-preview2-003121
6. Done rebuilt the solution!
7. Good Luck!!

Identity Jump on MS SQL Server 2012 and up

I got problem when MS SQL Service got sudden shutdown or restart the identity is jump by 1000.
To solve this problem use “-T272”

1. Open “SQL Server Configuration Manager”
2. Click “SQL Server Services” on the left pane
3. Right-click on your SQL Server instance name on the right pane
4. Click “Properties”
5. Click “Startup Parameters”
6. On the “specify a startup parameter” textbox type “-T272”
7. Click “Add”
8. Confirm the changes

I hope this can solve the problem.