Skip to main content

Prestashop

1. Préparation des dossiers avec les bonnes permissions

Notez votre docker PUID:PGID, puis:

mkdir -p /srv/dev-disk-by-uuid-7fe66601-5ca0-4c09-bc13-a015025fe53a/Files/Prestashop/{db,data/admin-dev}
chown -R 998:100 /srv/dev-disk-by-uuid-7fe66601-5ca0-4c09-bc13-a015025fe53a/Files/Prestashop/
chmod -R 775 /srv/dev-disk-by-uuid-7fe66601-5ca0-4c09-bc13-a015025fe53a/Files/Prestashop/

1. Fichier docker-compose.yml (à coller dans Portainer)

version: '3.8'

services:
  db:
    image: mysql:5.7
    container_name: prestashop_db
    environment:
      MYSQL_ROOT_PASSWORD: 01664892ganjah12!
      MYSQL_DATABASE: prestashop
      MYSQL_USER: prestashop
      MYSQL_PASSWORD: 01664892ganjah12
    volumes:
      - /srv/dev-disk-by-uuid-7fe66601-5ca0-4c09-bc13-a015025fe53a/Files/Prestashop/db:/var/lib/mysql
    networks:
      - prestashop_network
    restart: unless-stopped

  prestashop:
    image: prestashop/prestashop:latest
    container_name: prestashop_web
    depends_on:
      - db
    environment:
      DB_SERVER: db
      DB_USER: prestashop
      DB_PASSWD: 01664892ganjah12
      DB_NAME: prestashop
      PS_DEV_MODE: 0
      PS_INSTALL_AUTO: 0
      PS_DOMAIN: emberchains.steph.click
      PS_FOLDER_ADMIN: admin10665839
      PS_FOLDER_INSTALL: install10665839
    ports:
      - "8999:80"
    volumes:
      - /srv/dev-disk-by-uuid-7fe66601-5ca0-4c09-bc13-a015025fe53a/Files/Prestashop/data:/var/www/html
      - /srv/dev-disk-by-uuid-7fe66601-5ca0-4c09-bc13-a015025fe53a/Files/Prestashop/admin-dev:/var/www/html/admin-dev
    networks:
      - prestashop_network
    restart: unless-stopped

networks:
  prestashop_network:
    driver: bridge

2. Déploiement et installation

Lancer le stack

  • Dans Portainer, collez le docker-compose.yml et déployez.

Suivre les logs

  • Allez dans Containers > prestashop_web > Logs pour suivre l’avancement, notamment la fin d'initialisation de la db.

Accéder à l’installation

  • URL : http://[IP_DU_SERVEUR]:8999/install10665839 (pas via le domaine, sinon risque de plantage).

3. Configuration de l’installation

Étape "Configuration du système"

  • Adresse du serveur de base de données : doit être l'ip interne à docker du conteneur db
  • Préfixe des tables : ps_ 
  • Patience : .

4. Finalisation

Supprimer le dossier install

  1. Dans le terminal du conteneur prestashop_web :
    rm -rf /var/www/html/install10665839

mysql -u prestashop -pXXXXX -h db prestashop -e "UPDATE ps_configuration SET value = '0' WHERE name = 'PS_SSL_ENABLED';" mysql -u prestashop -pXXXXX -h db prestashop -e "UPDATE ps_configuration SET value = '0' WHERE name = 'PS_SSL_ENABLED_EVERYWHERE';"

Redémarrer le conteneur

  • Dans Portainer, redémarrez prestashop_web.

5. Accès final

  • Admin : http://[IP_DU_SERVEUR]:8999/admin10665839
  • Frontoffice : http://[IP_DU_SERVEUR]:8999