# Installare BookStack con Portainer

# Operazioni preliminari

# Preparazione ambiente con docker in modalità rootless

1. Creare i repository per config e db e assegnare i permessi all'utente docker  
      
    ```shell
    sudo mkdir -p /opt/docker/bookstack/db
    sudo mkdir -p /opt/docker/bookstack/config
    
    sudo chown -R docker_user:docker_user /opt/docker/bookstack
    
    ```
2. generare app key  
    ```shell
    openssl rand -base64 32
    ```

# Troubleshooting

Pulizia di tutti i file di configurazione e del db

```shell
sudo rm -rf /opt/docker/bookstack/config/*
sudo rm -rf /opt/docker/bookstack/db/*
```

# Creazione e avvio stack

# Creazione e avvio

In portainer.io, Stacks --&gt; +Add stack

NOTA: sostituire

MYSQL\_ROOT\_PASSWORD  
MYSQL\_PASSWORD  
APP\_URL  
APP\_KEY

```yaml
services:
  bookstack_db:
    image: mariadb:10.11
    container_name: bookstack_db
    restart: unless-stopped
    environment:
      TZ: Europe/Rome
      MYSQL_ROOT_PASSWORD: mysql_root_password
      MYSQL_DATABASE: bookstackapp
      MYSQL_USER: bookstack
      MYSQL_PASSWORD: mysql_password
    volumes:
      - /opt/docker/bookstack/db:/var/lib/mysql

  bookstack:
    image: lscr.io/linuxserver/bookstack:latest
    container_name: bookstack
    restart: unless-stopped
    depends_on:
      - bookstack_db
    environment:
      PUID: 1000
      PGID: 1000
      TZ: Europe/Rome
      APP_URL: http://localhost:6875
      APP_KEY: base64:app_key
      DB_HOST: bookstack_db
      DB_PORT: 3306
      DB_DATABASE: bookstackapp
      DB_USERNAME: bookstack
      DB_PASSWORD: mysql_password
    volumes:
      - /opt/docker/bookstack/config:/config
    ports:
      - 6875:80

```