Otsides kohta, kust enda arenduse asjadeks pisike VPS võtta, jõudsin selleni, et tegin (esialgu) enda vanast riiulis seisvast Dell XPS13 läpakast Linuxi serveri. 2011 mudel, i5-2467M, 4GB RAM, 512 SSD (dual masin boot, millest osa on Win7 all). See seisab ka serverina 99% ajast ilma koormuseta.
Nüüd mõtlen, et peaks võibolla läpaka Raspberry Pi 4B‘ga asendama (komplekt läheks kuskil 145 eurot). Kui kellegi on pakkuda, siis anna märku 🙂 Update: Hetkel tundub hea mõte, et ma sellega ei kiirustanud. ARM protsessoril ei tööta Docker normaalselt (viide) nii et kui üldse, siis pigem mõni Inteliga NUC või mini-PC (nt IBMi ThinkCentre).
Mul on kodus kõige tavalisem Elisa 50/10 internet ja meeldivaks üllatuseks on kõik public IP pordid lahti. Public IP’le päringuid tehes saan enda serverile ligi. Jah, see on aeglane 😀 Kui Zone annab VPSile 1 Gbit/s sisenev ja 100 Mbit/s väljuv liiklus, siis minu puhul on need hetkel vastavalt 20x ja 10x pisemad. Aga andmebaasipäringuteks piisab küll.
Kuna mul zone.ee’s on ka mõne domeenid registreeritud, siis tegin ühele neist A-kirje ja nii ei pea ma enda IP’d meeles pidama. Kuna IP ei ole staatiline, siis IP muutumisel, piisab A-kirje uuendamisest.
Mis mul seal on
Operatsioonisüsteemina on serveris Ubuntu Desktop 18.04.5 LTS (sest juba ammu installitud). Kõik asjad, mis serveris jooksevad on Dockeri konteinerina.
Esimene asi, mille tööle püüdsin saada oli see, et IP’le päringu tehes avaneks kõige tavalisem nginx (hääldatakse nagu “engine X”) Welcome Page. Piisas sellest, kui:
- Docker on installitud (
snap install docker
võisnap remove docker
eemaldamiseks) - nginxi kontener käivitada
docker run --name nginx_container --rm -d -p 8080:80 nginx
(viide). –rm tähendab, et kui teeddocker stop containerId
, siis konteiner kustutatakse ära. - Ruuteris teha port forward sisse tuleva public IP port 80 mappida sisemises võrgus oleva seadme (ehk siis laptopi) IP porti 80. Minu puhul oli vaja mappimine teha Elisa antud Technicolori ruuteris (kuhu server-läpakas on kaabliga ühendatud). See on kõige lihtsam setup.
Seejärel installisin (kõik eraldi dockeri konteinerid) MariaDB, phpMyAdmin (selle MariaDB külge) ja Microsoft SQL Serveri.
Millest on abi
tracert that.ee
– näed, kust seadmetest su liiklus läbi läheb ja kuhu ta jõuab.
Turvalisus
Selle koha peal ma olen kõige tuhmim hetkel ja mul ei ole head ettekujutust, missugused ohud mind varitsevad.
- Ufw (Uncomplicated Firewall) panin peale
- Sisse saab ainult SSHga, parooliga sisselogimise keerasin kinni
Kasulikud Dockeri käsud
Dockeriga toimetamine tahab super useri õiguseid. Ehk siis sudo su
.
sudo snap install docker
– installib Dockeri
sudo snap remove docker
– eemaldab Dockeri
sudo docker ps -a
– näitab kõiki konteinereid ja nende infot
sudo docker start <containerId>
– käivitab konteineri
sudo docker stop <containerId>
– peatab konteineri
sudo docker rm <containerId>
– kustutab konteineri
sudo docker image list
– näitab arvutis olevate image’te nimekirja
sudo docker image rm <imageId>
– kustutab image
Kui mingi asjaga tekib raskuseid, siis Google otsing ja Digital Oceani juhendid aitavad enamasti alati.