Installation sur Docker

Important

Attention, nous partons ici du principe que vous maîtrisez déjà Docker

Installation de docker

Docker est maintenant disponible sur toutes les distributions récentes. Pour l’installer sur une distribution

yum install docker
apt-get update
apt-get install docker.io

Installation d’une image Jeedom

Installation de l’image :

docker pull jeedom/jeedom:latest

Puis lancez la :

sudo docker run --name jeedom-server --privileged -v /opt/jeedom/www:/var/www/html -v /opt/jeedom/db:/var/lib/mysql -p 80:80 -d jeedom/jeedom:latest

Avec :

Liste des images disponibles

La liste complète est disponible sur le Docker Hub

TIPS

Avec l’option -d Docker vous rend immédiatement la main (option ‘detach’) mais installe en tâche de fond. Il est possible de suivre les logs avec la commande docker logs jeedom-server -f (option f = follow)

Il vous faut ensuite installer Jeedom en allant sur : IP_DOCKER:80

TIPS

Vous pouvez voir les dockers qui tournent docker ps pour arreter votre container, jeedom-server par exemple, il vous suffit de faire docker stop jeedom-server, pour le relancer docker start jeedom-server

Pour la suite, vous pouvez suivre la documentation Premier pas avec Jeedom

Docker compose

Vous pouvez vous aussi installer jeedom à l’aide de docker compose :

En mode 1 services

services:
  jeedom:
    image: jeedom/jeedom:latest
    volumes:
      - http:/var/www/html
      - db:/var/lib/mysql
    tmpfs:
      - /tmp/jeedom
    ports:
      - 40080:80
    restart: always
    network_mode: bridge
    healthcheck:
      test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:80"]
      interval: 30s
      timeout: 10s
      retries: 5
volumes:
  db:
  http:

En mode 2 services (experimental)

services:
  jeedom_db:
    image: mariadb:latest
    container_name: jeedom_db
    command: 
      - "--default-authentication-plugin=mysql_native_password"
      - "--skip-name-resolve"
      - "--key_buffer_size=16M"
      - "--thread_cache_size=16"
      - "--tmp_table_size=48M"
      - "--max_heap_table_size=48M"
      - "--query_cache_type=1"
      - "--query_cache_size=32M"
      - "--query_cache_limit=2M"
      - "--query_cache_min_res_unit=3K"
      - "--innodb_flush_method=O_DIRECT"
      - "--innodb_flush_log_at_trx_commit=2"
      - "--innodb_log_file_size=32M"
      - "--innodb_large_prefix=on"
      - "--connect_timeout=600"
      - "--wait_timeout=600"
      - "--interactive_timeout=600"
    volumes:
      - db:/var/lib/mysql
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=TODO
      - MYSQL_DATABASE=jeedom
      - MYSQL_USER=jeedom
      - MYSQL_PASSWORD=TODO
    expose:
      - 3306
  jeedom_http:
    image: jeedom/jeedom:4.4-http-bookworm
    container_name: jeedom_http
    volumes:
      - http:/var/www/html
    tmpfs:
      - /tmp/jeedom
    ports:
      - 52080:80
    restart: always
    environment:
      - DB_HOST=jeedom_db
      - DB_USERNAME=jeedom
      - DB_PASSWORD=TODO
      - DB_NAME=jeedom
    healthcheck:
      test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:80"]
      interval: 30s
      timeout: 10s
      retries: 5
    depends_on:
      - jeedom_db
volumes:
  db:
  http:

TIPS

N’oubliez pas completer les TODO avec les mots de passe voulu

TIPS

Il est possible de spécifier le port d’écoute d’Apache avec la variable d’environnement APACHE_PORT, attention a bien mettre à jour le healthcheck avec le nouveau port. Attention cela n’est possible qu’a partir de Jeedom 4.5

Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site web. Si vous continuez à utiliser ce site, nous supposerons que vous en êtes satisfait.