Maskinen og forberedelsene
Som jeg nevnte i forrige innlegg, kjører alt på en gammel Lenovo Yoga fra 2015. Ikke noe imponerende, men det holder til å lære. Oppsettet jeg startet med:
- MaskinLenovo Yoga (2015)
- ProsessorIntel i5 · 2,4 GHz
- RAM8 GB DDR3
- Lagring256 GB SSD
- OSUbuntu 24.04 LTS
Første steg var å installere Ubuntu på maskinen. Det gikk greit – omtrent en time, ingen overraskelser. Den egentlige jobben startet når jeg skulle få Freqtrade opp.
De første utfordringene
Freqtrade-dokumentasjonen anbefaler Docker, men jeg valgte å installere det direkte på Ubuntu. Mer kontroll, men også mer arbeid. Det viste seg å bli mer komplisert enn forventet.
Systemet kom med Python 3.10. Freqtrade støtter Python 3.8+, så det burde gå greit – men jeg installerte Python 3.11 manuelt for å være på den sikre siden. Det fikk noen systemverktøy til å slutte å fungere.
Freqtrade har mange avhengigheter, og noen av dem krasjet med eksisterende systembiblioteker. Jeg satt lenge og prøvde å feilsøke dette før jeg skjønte at løsningen var mye enklere.
Løsningene som faktisk fungerte
Etter et par timer med feilsøking fant jeg ut at svaret på begge problemene var det samme: et virtuelt Python-miljø. Det isolerer Freqtrade fra resten av systemet og unngår alle konflikter.
# Opprett virtual environment
python3 -m venv freqtrade-env
# Aktiver miljøet
source freqtrade-env/bin/activate
# Installer Freqtrade
pip install freqtrade
# Opprett konfigurasjon
freqtrade new-config
Totalt tok dette omtrent to timer å komme i mål med. Den siste halvtimen gikk fint – det var den første halvtimen med feilsøking som spiste tiden.
Sikkerhetstiltak under installasjonen
Sikkerhet er ikke noe jeg tar lett på, spesielt ikke med et system som til slutt skal håndtere ekte penger og API-nøkler. Allerede under installasjonen la jeg inn noen tiltak:
Freqtrade kjører under en egen systembruker uten root-tilgang. Kun nødvendige porter er åpne. Automatisk sikkerhetskopiering er satt opp. Systemet overvåkes for uvanlig aktivitet via et enkelt logg-script.
Det er ikke perfekt ennå, men det er et greit utgangspunkt. Jeg kommer tilbake til sikkerhetsoppsettet i en egen post – det fortjener mer plass enn det får her.
Hva gikk bra, og hva gikk galt
For å oppsummere ærlig:
- ✓ Virtual environmentLøste alle avhengighetsproblemer
- ✓ KonfigurasjonEnkel og oversiktlig å sette opp
- ✓ StabiltIngen krasj etter installasjonen
- ✗ Python-manuellUnødvendig, skapte bare problemer
- ✗ TidsestimeringTok dobbelt så lang tid som planlagt
- ✗ BackupBurde tatt backup av systemet først
Tre ting jeg lærte
Bruk virtual environment fra starten. Det sparer tid og hodebry, og er uansett god praksis for alle Python-prosjekter.
Les dokumentasjonen grundig. Jeg hoppet over viktige detaljer i installasjonsguiden fordi jeg trodde jeg visste hva jeg holdt på med. Det gjorde jeg ikke.
Ta backup før du starter. Jeg var heldig denne gangen. Neste gang tar jeg ikke den sjansen.
– Erik