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. Créer le dossier manuellement

Sans cette action, docker n'aura pas les permissions pour créer les dossier d'installation.
Cette étape n'est pas nécessaire si vous utilisez des volumes docker.

  1. Accédez au terminal du conteneur prestashop_web (via Portainer).
  2. Exécutez :

mkdir -p /var/www/html/admin-dev chown -R www-data:www-data /var/www/html/admin-dev

 


4. 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 : .

5. 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.

6. Accès final

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