Page:
Instalacija
Clone
3
Instalacija
Dasko edited this page 2026-06-21 02:16:00 +02:00
Instalacija
Preduslovi
- Go 1.26 ili noviji
- Git (za kloniranje)
- Linux ili Windows (build skripta podržava oba)
Brzi start
# Kloniraj repozitorijum
git clone https://git.vm-net.in.rs/Dasko/GoNtech.git
cd GoNtech
# Pripremi konfiguraciju
cp ntech.env.example ntech.env
# Pokreni
go run ./cmd/ntech
Aplikacija se pokreće na http://localhost:8080.
Prvo pokretanje — Setup Wizard
Kad se program prvi put pokrene (nema ntech.env), automatski se otvara Setup Wizard na portu 8080. Podešava se:
- Port servera
- Admin korisničko ime i lozinka
- Naziv firme
Po završetku, ntech.env se kreira automatski i aplikacija se restartuje.
Produkcijski build
Interaktivna skripta:
./build.sh
# → unesi verziju (npr. 0.1.5)
# → izaberi OS (linux / windows)
# → UPX kompresija (da/ne)
Ručni build:
# Linux, AMD64
CGO_ENABLED=0 GOARCH=amd64 GOOS=linux go build -o ntech ./cmd/ntech
# Sa verzijom
CGO_ENABLED=0 GOARCH=amd64 GOOS=linux \
go build -ldflags "-X main.Verzija=0.1.5" -o ntech ./cmd/ntech
Build je statički (CGO_ENABLED=0) — binarni fajl radi svuda bez zavisnosti.
Konfiguracija (ntech.env)
| Promenljiva | Opis | Podrazumevano |
|---|---|---|
NTECH_PORT |
Port servera | 8080 |
NTECH_SQLITE |
Putanja SQLite baze | ntech.db |
NTECH_ENV |
development / production / demo |
development |
NTECH_DOMAIN |
Domen sajta (za kolačiće i CSP) | localhost |
Režimi rada
| Režim | Šabloni | Statika | Migracije |
|---|---|---|---|
development |
Sa diska (hot-reload) | Sa diska | Sa diska |
production |
Embed | Embed (immutable keš) | Embed |
demo |
Embed | Embed (immutable keš) | Embed |
Demo mod (NTECH_ENV=demo)
- Setup wizard se preskače —
ntech.envse automatski kreira prazan - Backup je onemogućen
- Promena lozinke je blokirana
- TOTP aktivacija nije dozvoljena
- Kolačići su Secure (kao u produkciji)
Pokretanje
# U produkciji
NTECH_ENV=production ./ntech
# Sa custom portom
NTECH_PORT=9090 ./ntech
# Demo mod
NTECH_ENV=demo ./ntech
Struktura foldera posle build-a
.
├── ntech # binarni fajl (sve ugrađeno)
├── ntech.env # konfiguracija
├── ntech.db # SQLite baza (kreira se automatski)
└── logs/ # auth.log (opciono)
Ništa više nije potrebno — jedan fajl, jedna konfiguracija, jedna baza.