. ├── auth │ └── users.auth ├── docker-compose.yml ├── .env └── mosquitto └── config ├── mosquitto.conf └── passwd
services: mosquitto: image: eclipse-mosquitto:2 ports: - 1883:1883 - 9001:9001 volumes: - ./mosquitto/config:/mosquitto/config - ./mosquitto/data:/mosquitto/data - ./mosquitto/log:/mosquitto/log restart: unless-stopped otrecorder: image: owntracks/recorder ports: - 8083:8083 volumes: - ./store:/store - ./config:/config - ./auth:/auth restart: unless-stopped environment: - OTR_HOST=mosquitto - OTR_PORT=1883 - OTR_USER=${OTR_USER} - OTR_PASS=${OTR_PASS} - OTR_HTTPPORT=8083 - OTR_AUTHFILE=/auth/users.auth depends_on: - mosquitto owntracks-frontend: image: owntracks/frontend ports: - 80:80 environment: - SERVER_HOST=otrecorder - SERVER_PORT=8083 restart: unless-stopped
https://raw.githubusercontent.com/tryweb/docker-compose/refs/heads/main/owntracks/docker-compose.yml
vi .env
OTR_USER=recorder OTR_PASS=recorderpass
https://raw.githubusercontent.com/tryweb/docker-compose/refs/heads/main/owntracks/.env.example
mkdir -p mosquitto/config/ vi mosquitto/config/mosquitto.conf
listener 1883 protocol mqtt listener 9001 protocol websockets allow_anonymous true #allow_anonymous false #password_file /mosquitto/config/passwd log_dest file /mosquitto/log/mosquitto.log log_type error log_type warning log_type notice log_type information #log_type debug #log_type subscribe #log_type unsubscribe persistence true persistence_location /mosquitto/data/ max_inflight_messages 20 max_queued_messages 1000 allow_zero_length_clientid true connection_messages true log_timestamp true
touch mosquitto/config/passwd chmod 0770 mosquitto/config/passwd
mkdir -p auth vi auth/users.auth
# OwnTracks 用戶認證檔案 # 格式:username:password # 每行一個用戶 jonathan:mypassword
https://raw.githubusercontent.com/tryweb/docker-compose/refs/heads/main/owntracks/auth/users.auth
docker compose pull docker compose up -d
docker compose logs -f
tail -f mosquitto/log/mosquitto.log
docker compose exec mosquitto chown root:root /mosquitto/config/passwd docker compose exec mosquitto mosquitto_passwd /mosquitto/config/passwd recorder
輸入兩次密碼 recorderpass 即可
docker compose exec mosquitto mosquitto_passwd /mosquitto/config/passwd jonathan
輸入兩次密碼 mypassword 即可
cd store/rec/jonathan/pixel9 cp 2025-05.rec 2025-05.rec.bak cat ../jonathan/2025-05.rec >> 2025-05.rec
sort -s -k 1 2025-05.rec -o 2025-05.rec
cd rm -f store/ghash/data.mdb
docker compose restart otrecorder docker compose logs -f otrecorder
cd rm -rf store/rec/jonathan/jonathan/ rm -rf store/last/jonathan/jonathan/ rm -f store/ghash/data.mdb
docker compose restart otrecorder
rm mosquitto/data/mosquitto.db docker compose restart mosquitto