Owntracks est l’une des rares applications de suivi de localisation open-source qui sont disponibles à la fois pour Android et iOS. C’est un excellent moyen de suivre votre localisation et de la partager avec d’autres.
Pour la configuration Traefik, voir Configuration simple Traefik docker-compose avec Lets Encrypt Cloudflare DNS-01 & TLS-ALPN-01 & HTTP-01 challenges
D’abord, créez docker-compose.yml
services:
otrecorder:
image: owntracks/recorder
volumes:
- ./otrecorder_config:/config
- ./otrecorder_store:/store
environment:
OTR_HOST: "mosquitto"
OTR_USER: "otrecorder"
OTR_PASS: "${MOSQUITTO_OTRECODER_PASSWORD}"
depends_on:
- mosquitto
labels:
- "traefik.enable=true"
- "traefik.http.routers.owntracks.rule=Host(`owntracks.mydomain.com`)"
- "traefik.http.routers.owntracks.entrypoints=websecure"
- "traefik.http.routers.owntracks.tls.certresolver=cloudflare-ec384"
- "traefik.http.routers.owntracks.tls.domains[0].main=mydomain.com"
- "traefik.http.routers.owntracks.tls.domains[0].sans=*.mydomain.com"
- "traefik.http.services.owntracks.loadbalancer.server.port=8083"
- "traefik.http.middlewares.owntracks-compress.compress=true"
- "traefik.http.routers.owntracks.middlewares=owntracks-compress,owntracks-auth"
- "traefik.http.middlewares.owntracks-auth.basicauth.users=owntracks:$$apr1$$WE6pu5/y$90pvQQXZrTlFRpQGAKb15.
restart: unless-stopped
mosquitto:
image: eclipse-mosquitto
volumes:
- ./mosquitto_data:/mosquitto/data
- ./mosquitto_logs:/mosquitto/logs
- ./mosquitto_config:/mosquitto/config
restart: unless-stoppedRappelez-vous de remplacer mydomain.com par votre domaine actuel !
Vous pouvez utiliser n’importe quelle configuration de certificat. Cet exemple utilise le challenge DNS-01 afin que nous puissions obtenir un certificat wildcard pour *.mydomain.com (qui peut être partagé avec d’autres sous-domaines). Si vous n’avez pas besoin de certificats wildcard, vous pouvez utiliser le challenge ALPN-01 à la place (HTTP-01 fonctionne aussi, mais je recommande toujours ALPN-01 puisqu’il fonctionne de manière si transparente avec Traefik).
Création du mot de passe haché d’authentification basique
Ici, vous devez remplacer les informations d’authentification basique par votre propre mot de passe ! C’est un mot de passe global pour toute l’instance Owntracks.
Exécutez
htpasswd -c /dev/stdout owntracksSaisissez le mot de passe deux fois, il affichera ce qui suit
New password:
Re-type new password:
Adding password for user owntracks
owntracks:$apr1$WE6pu5/y$90pvQQXZrTlFRpQGAKb15.Vous devez remplacer chaque $ par $$ ! N’oubliez pas cette étape !
Initialisation de Mosquitto
Mosquitto a également besoin d’un mot de passe aléatoire, qui sera sauvegardé dans .env. Cependant dans cette configuration, nous n’exposons pas Mosquitto.
Créez init.sh qui initialise principalement Mosquitto.
#!/bin/sh
# Init script for Owntracks with Docker setup
mkdir -p mosquitto_config
cat << 'EOF' > mosquitto_config/mosquitto.conf
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/logs/mosquitto.log
listener 1883
## Authentication ##
# allow_anonymous false
password_file /mosquitto/config/mosquitto.passwd
EOF
# Generate random MQTT password
echo "MOSQUITTO_OTRECODER_PASSWORD=$(pwgen 30 1)" > .env
# Initialize Mosquitto password file
source .env
echo "${MOSQUITTO_OTRECODER_PASSWORD}"
docker-compose run mosquitto mosquitto_passwd -b -c /mosquitto/config/mosquitto.passwd otrecorder ${MOSQUITTO_OTRECODER_PASSWORD}
docker-compose run mosquitto chown root:root /mosquitto/config/mosquitto.passwd /mosquitto/config/mosquitto.conf
docker-compose run mosquitto chmod 0700 /mosquitto/config/mosquitto.conf
mkdir -p mosquitto_config
cat << 'EOF' > mosquitto_config/mosquitto.conf
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/logs/mosquitto.log
listener 1883
## Authentication ##
# allow_anonymous false
password_file /mosquitto/config/mosquitto.passwd
EOF
# Generate random MQTT password
echo "MOSQUITTO_OTRECODER_PASSWORD=$(pwgen 30 1)" > .env
# Initialize Mosquitto password file
source .env
echo "${MOSQUITTO_OTRECODER_PASSWORD}"
docker-compose run mosquitto mosquitto_passwd -b -c /mosquitto/config/mosquitto.passwd otrecorder ${MOSQUITTO_OTRECODER_PASSWORD}
docker-compose run mosquitto chown root:root /mosquitto/config/mosquitto.passwd /mosquitto/config/mosquitto.conf
docker-compose run mosquitto chmod 0700 /mosquitto/config/mosquitto.confMaintenant exécutez init.sh :
bash init.shConfiguration de l’autostart
Maintenant je recommande de configurer l’autostart basé sur systemd pour votre instance. Créez un service systemd pour votre projet docker-compose en 10 secondes :
curl -fsSL https://techoverflow.net/scripts/create-docker-compose-service.sh | sudo bash /dev/stdinCela démarrera également Owntracks immédiatement.
Configuration de l’application
Dans l’application, vous devez la configurer en mode HTTP et définir une URL telle que
https://owntracks.my-domain.com/pubN’oubliez pas le /pub à la fin !
Définissez le nom d’utilisateur et le mot de passe sur owntracks et le mot de passe que vous avez configuré en utilisant htpasswd précédemment.
Pour l’accès navigateur, vous pouvez utiliser https://owntracks.my-domain.com/ pour accéder à l’interface web. Comme utilisateur, utilisez owntracks et le mot de passe que vous avez configuré en utilisant htpasswd précédemment.