Deploy ja infrastruktuur.md 2.4 KB

Deploy ja infrastruktuur

Serverid

Server Roll SSH IP (Tailscale)
ohmu Dev (arendus, andmetöötlus) ssh ohmu 100.87.1.24
hetzner Prod (avalik veeb) ssh hetzner 135.181.229.246 (avalik), 100.80.222.54

ohmu (dev)

  • Docker + docker-compose (vana v1)
  • Projekt: /data/docker/liiklusatlas
  • Port: 8074 (main_ai_network)
  • Token: .env failis (ATLAS_ACCESS_TOKEN=<kood>), .env on .gitignore-is
  • Uuendus:

    ssh ohmu
    cd /data/docker/liiklusatlas && git pull origin main
    docker-compose build && docker-compose up -d --force-recreate   # koodimuutus
    # andmeuuendus (ilma koodimuutuseta):
    # git pull && docker restart liiklusatlas
    
  • Logid: tail -f /data/docker/liiklusatlas/data/logs/access.log

  • Muud teenused: n8n (5678), Qdrant (6333), PostgreSQL/PostGIS (5432), Ollama, open-webui, jupyter, searxng

hetzner (prod)

  • Docker Swarm + traefik (Let's Encrypt, DNS-challenge DigitalOcean)
  • Projekt: ~/swarm/docker-compose/containers/other/liiklusatlas
  • URL: https://atlas.see1.ee
  • Token: tuleb eksportida shellis enne stack deploy — muidu stack-prod.yml saab tühja väärtuse ja kõik kaitstud vallad on lukus isegi koodiga.
  • Uuendus:

    ssh hetzner
    cd ~/swarm/docker-compose/containers/other/liiklusatlas && git pull origin main
    docker build -t liiklusatlas:latest .
    export ATLAS_ACCESS_TOKEN=<kood>
    docker stack deploy --compose-file=stack-prod.yml atlas
    docker service update --force atlas_liiklusatlas
    
  • Traefik: traefik-network (overlay), router atlas-https, certresolver mychallenge

  • Tähelepanu: traefik kuulab ainult IPv4 (0.0.0.0:443). IPv6 hetzneril on katki — AAAA kirje peab olema eemaldatud (asub erineva DO konto all, kustuta käsitsi).

Gogs (Git)

  • URL: https://gogs.odamus.com (kasutaja ardo)
  • Repod: liiklusatlas, Obsidian, ohmu-cron
  • Gogs on hetzneril (Drupal see1.ee kõrval)

Let's Encrypt / DNS

  • atlas.see1.ee → A 135.181.229.246 (DigitalOcean DNS, see1.ee zone)
  • Sert: traefik väljastab automaatselt DNS-01 challenge'ga
  • Kui sert ebaõnnestub NXDOMAIN-iga: DO token ei näe zone'i — kontrolli traefiku DO_AUTH_TOKEN ulatust

Varundus

  • ohmu: backup-ohmu.sh → merkuur ketas (rsync --link-dest snapshot'id)
  • hetzner: ~/swarm cron-backup

Seos

[[Liiklussageduse kaudne hindamine/04_Tehniline/Repo ja töövoog]]