Oden tar emot Signal-meddelanden och sparar dem som Markdown-filer i ditt Obsidian-valv.
Automatisk installation — kör i Terminal:
curl -fsSL https://raw.githubusercontent.com/NicklasAndersson/oden/main/scripts/install_mac.sh | bashSkriptet laddar ner senaste DMG, installerar Oden.app i Applications och tar bort karantänattributet (Gatekeeper).
Manuell installation:
- Ladda ner
.dmgfrån senaste releasen - Öppna den och dra Oden.app till Applications
- Kör i Terminal:
xattr -cr /Applications/Oden.appSista steget behövs eftersom vi saknar Apple-certifikat. Alternativt kan du högerklicka på appen och välja "Öppna" — då får du möjlighet att öppna den trots varningen.
docker run -d \
--name oden \
-p 8080:8080 \
-v oden-data:/data \
-v ./vault:/vault \
ghcr.io/nicklasandersson/oden:latestEller med docker compose:
curl -O https://raw.githubusercontent.com/NicklasAndersson/oden/main/docker-compose.yml
docker compose up -dÖppna sedan http://localhost:8080/setup i din webbläsare för att konfigurera.
Se docs/FEATURES.md för komplett funktionsdokumentation.
Viktigt: Använd inte ditt privata Signal-nummer! Skaffa ett dedikerat nummer för Oden (t.ex. ett billigt kontantkort eller VoIP-nummer).
Det finns två sätt att konfigurera Signal:
- Länka till befintligt konto (Rekommenderat) - Koppla Oden som en länkad enhet till din telefon
- Registrera nytt nummer - Använd ett separat telefonnummer som kan ta emot SMS för verifiering
oden/
├── oden/ # Python-paket med källkod
├── tests/ # Enhetstester
├── scripts/ # Bygg- och installationsskript (macOS DMG)
├── docs/ # Dokumentation
├── templates/ # Rapportmallar (Jinja2)
├── Dockerfile # Docker-image
├── docker-compose.yml # Docker Compose-konfiguration
└── images/ # Bilder
# Klona repot
git clone https://github.com/NicklasAndersson/oden.git
cd oden
# Skapa virtuell miljö
python -m venv .venv
source .venv/bin/activate # På Windows: .venv\Scripts\activate
# Installera paketet i utvecklingsläge (med system tray-stöd)
pip install -e ".[tray]"
# Kör tester
pytest
# Kör tester med coverage
pytest --cov=oden
# Kör applikationen
python -m odenProjektet använder Ruff för linting och formattering:
# Installera pre-commit hooks (kör en gång)
pip install pre-commit
pre-commit install
# Manuell linting
ruff check .
# Manuell formattering
ruff format .- Setup-wizard - Guidar dig genom konfigurationen vid första start
- Web GUI - Dashboard med config, loggar, grupphantering och template-editor
- System Tray - Starta/stoppa, öppna GUI och avsluta Oden från systemfältet (macOS/Linux/Windows)
- Svara på meddelande - Svaret läggs till i din senaste rapport (inom 30 min)
++kommando - Meddelanden som börjar med++läggs till i senaste rapporten (avstängt per default, aktiveras i config)- Platslänkar - Google Maps, Apple Maps och OSM-länkar omvandlas automatiskt till geo-koordinater
- Anpassningsbara rapportmallar - Redigera Jinja2-mallar direkt i GUI:ns template-editor
- Regex-länkar - Konfigurera mönster (t.ex. registreringsnummer) som automatiskt blir Obsidian-länkar
Konfigurationen hanteras via setup-wizarden som öppnas automatiskt vid första start. All config sparas i en SQLite-databas (config.db) i din Oden-hemkatalog.
Ändringar kan också göras via Web GUI:ns konfigurationssida. Export/import till INI-format stöds för bakåtkompatibilitet.
På macOS visas Oden som en ikon i systemfältet:
- Starta/Stoppa - Starta eller stoppa signal-cli-processen
- Öppna Web GUI - Öppnar dashboarden i din webbläsare
- Avsluta - Stänger ner Oden helt
Om pystray inte är installerat körs Oden i terminalläge utan tray-ikon.
Oden har ett inbyggt webbgränssnitt som startar automatiskt på http://127.0.0.1:8080.
Vid första start visas en setup-wizard som guidar dig genom konfigurationen:
- Välj Oden-hemkatalog
- Länka eller registrera Signal-konto (QR-kod visas i webbläsaren)
- Välj sökväg till Obsidian-valv
- Klart — Oden startar automatiskt
Funktioner:
- Visa och redigera konfiguration
- Live-loggar (uppdateras var 3:e sekund)
- Gå med i grupper via inbjudningslänk
- Visa och hantera väntande gruppinbjudningar
- Visa alla grupper kontot är med i
- Ignorera grupper direkt från GUI (klicka "Ignorera")
- Whitelist-grupper direkt från GUI (klicka "Whitelist" – om satt sparas endast dessa grupper)
- Template-editor - Redigera rapportmallar med live-förhandsvisning
- Stäng av Oden - Shutdown-knapp i GUI
Säkerhet: Lyssnar endast på localhost. Känsliga API-anrop skyddas med token-baserad autentisering.
- FEATURES.md - Komplett funktions- och kravspecifikation
- SETUP_FLOW.md - Setup-wizardens alla steg
- WEB_GUI.md - Web-gränssnitt och API-referens
- REPORT_TEMPLATE.md - Mallsystem (Jinja2)
Oden fungerar bäst tillsammans med:
| Programvara | Beskrivning | Länk |
|---|---|---|
| Signal Desktop | För att administrera grupper och se meddelanden | signal.org/download |
| Obsidian | Markdown-editor för att läsa och organisera rapporter | obsidian.md/download |
| Obsidian Map View | Visa positioner från rapporter på en karta i Obsidian | GitHub |
| Syncthing | Synkronisera ditt Obsidian-valv mellan enheter | syncthing.net/downloads |



