DOCKER IMAGE geenration
This commit is contained in:
@@ -0,0 +1,15 @@
|
|||||||
|
.env
|
||||||
|
.git
|
||||||
|
.gitignore
|
||||||
|
.vite
|
||||||
|
node_modules
|
||||||
|
vendor
|
||||||
|
storage/app/backups
|
||||||
|
storage/app/documenti
|
||||||
|
storage/framework/cache
|
||||||
|
storage/framework/sessions
|
||||||
|
storage/framework/views
|
||||||
|
storage/logs
|
||||||
|
bootstrap/cache
|
||||||
|
docker-compose.yml
|
||||||
|
docker-compose.mysql.yml
|
||||||
+32
@@ -0,0 +1,32 @@
|
|||||||
|
FROM php:8.4-apache
|
||||||
|
|
||||||
|
RUN docker-php-ext-enable opcache \
|
||||||
|
&& a2enmod rewrite
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y libsqlite3-dev libpng-dev libjpeg-dev libwebp-dev libzip-dev \
|
||||||
|
&& docker-php-ext-configure gd --with-jpeg --with-webp \
|
||||||
|
&& docker-php-ext-install pdo_mysql pdo_sqlite bcmath gd zip \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
|
||||||
|
|
||||||
|
ENV APACHE_DOCUMENT_ROOT=/var/www/html/public
|
||||||
|
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf \
|
||||||
|
&& sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
|
||||||
|
|
||||||
|
COPY . /var/www/html/
|
||||||
|
|
||||||
|
RUN mkdir -p bootstrap/cache \
|
||||||
|
&& composer install --no-dev --optimize-autoloader --no-scripts \
|
||||||
|
&& mkdir -p storage/app/public \
|
||||||
|
storage/framework/cache/data \
|
||||||
|
storage/framework/sessions \
|
||||||
|
storage/framework/views \
|
||||||
|
storage/logs \
|
||||||
|
&& chown -R www-data:www-data storage bootstrap/cache
|
||||||
|
|
||||||
|
COPY docker-entrypoint.sh /usr/local/bin/
|
||||||
|
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
|
||||||
|
|
||||||
|
ENTRYPOINT ["docker-entrypoint.sh"]
|
||||||
|
CMD ["apache2-foreground"]
|
||||||
@@ -17,6 +17,7 @@ class DatabaseSeeder extends Seeder
|
|||||||
ComuniSeeder::class,
|
ComuniSeeder::class,
|
||||||
RoleSeeder::class,
|
RoleSeeder::class,
|
||||||
RolePresetSeeder::class,
|
RolePresetSeeder::class,
|
||||||
|
DockerBaseDataSeeder::class,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$admin = User::create([
|
$admin = User::create([
|
||||||
|
|||||||
@@ -0,0 +1,47 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
|
class DockerBaseDataSeeder extends Seeder
|
||||||
|
{
|
||||||
|
public function run(): void
|
||||||
|
{
|
||||||
|
$tipologieDoc = ['documento', 'avatar', 'galleria', 'statuto', 'programma', 'locandina', 'altro'];
|
||||||
|
foreach ($tipologieDoc as $ord => $nome) {
|
||||||
|
DB::table('tipologie_documenti')->updateOrInsert(
|
||||||
|
['nome' => $nome],
|
||||||
|
['descrizione' => ucfirst($nome), 'ordine' => $ord + 1, 'attiva' => true]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
$tipologieEventi = [
|
||||||
|
['nome' => 'catechesi', 'descrizione' => 'Catechesi'],
|
||||||
|
['nome' => 'liturgia', 'descrizione' => 'Liturgia'],
|
||||||
|
['nome' => 'animazione', 'descrizione' => 'Animazione'],
|
||||||
|
['nome' => 'formazione', 'descrizione' => 'Formazione'],
|
||||||
|
['nome' => 'incontro', 'descrizione' => 'Incontro'],
|
||||||
|
['nome' => 'riunione', 'descrizione' => 'Riunione'],
|
||||||
|
['nome' => 'festa', 'descrizione' => 'Festa'],
|
||||||
|
['nome' => 'altro', 'descrizione' => 'Altro'],
|
||||||
|
];
|
||||||
|
foreach ($tipologieEventi as $ord => $t) {
|
||||||
|
DB::table('tipologie_eventi')->updateOrInsert(
|
||||||
|
['nome' => $t['nome']],
|
||||||
|
['descrizione' => $t['descrizione'], 'ordine' => $ord + 1, 'attiva' => true]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
$ruoli = ['presidente', 'vicepresidente', 'segretario', 'tesoriere', 'consigliere', 'volontario', 'socio', 'altro'];
|
||||||
|
foreach ($ruoli as $ord => $nome) {
|
||||||
|
DB::table('ruoli')->updateOrInsert(
|
||||||
|
['nome' => $nome],
|
||||||
|
['descrizione' => ucfirst($nome), 'ordine' => $ord + 1, 'attiva' => true]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
services:
|
||||||
|
glastree:
|
||||||
|
build: .
|
||||||
|
ports:
|
||||||
|
- "8080:80"
|
||||||
|
volumes:
|
||||||
|
- glastree_storage:/var/www/html/storage
|
||||||
|
depends_on:
|
||||||
|
mysql:
|
||||||
|
condition: service_healthy
|
||||||
|
environment:
|
||||||
|
- APP_ENV=production
|
||||||
|
- APP_DEBUG=false
|
||||||
|
- APP_URL=http://localhost:8080
|
||||||
|
- DB_CONNECTION=mysql
|
||||||
|
- DB_HOST=mysql
|
||||||
|
- DB_PORT=3306
|
||||||
|
- DB_DATABASE=glastree
|
||||||
|
- DB_USERNAME=glastree
|
||||||
|
- DB_PASSWORD=secret
|
||||||
|
|
||||||
|
mysql:
|
||||||
|
image: mysql:8.0
|
||||||
|
volumes:
|
||||||
|
- mysql_data:/var/lib/mysql
|
||||||
|
environment:
|
||||||
|
- MYSQL_DATABASE=glastree
|
||||||
|
- MYSQL_USER=glastree
|
||||||
|
- MYSQL_PASSWORD=secret
|
||||||
|
- MYSQL_ROOT_PASSWORD=root_secret
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
|
||||||
|
interval: 5s
|
||||||
|
timeout: 3s
|
||||||
|
retries: 10
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
glastree_storage:
|
||||||
|
mysql_data:
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
services:
|
||||||
|
glastree:
|
||||||
|
build: .
|
||||||
|
ports:
|
||||||
|
- "8080:80"
|
||||||
|
volumes:
|
||||||
|
- glastree_storage:/var/www/html/storage
|
||||||
|
- glastree_db:/var/www/html/database
|
||||||
|
environment:
|
||||||
|
- APP_ENV=production
|
||||||
|
- APP_DEBUG=false
|
||||||
|
- APP_URL=http://localhost:8080
|
||||||
|
- DB_CONNECTION=sqlite
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
glastree_storage:
|
||||||
|
glastree_db:
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ ! -f .env ]; then
|
||||||
|
cp .env.example .env
|
||||||
|
|
||||||
|
if [ "$DB_CONNECTION" = "mysql" ]; then
|
||||||
|
sed -i "s/DB_CONNECTION=mysql/DB_CONNECTION=mysql/" .env
|
||||||
|
sed -i "s/DB_HOST=.*/DB_HOST=${DB_HOST:-mysql}/" .env
|
||||||
|
sed -i "s/DB_PORT=.*/DB_PORT=${DB_PORT:-3306}/" .env
|
||||||
|
sed -i "s/DB_DATABASE=.*/DB_DATABASE=${DB_DATABASE:-glastree}/" .env
|
||||||
|
sed -i "s/DB_USERNAME=.*/DB_USERNAME=${DB_USERNAME:-glastree}/" .env
|
||||||
|
sed -i "s/DB_PASSWORD=.*/DB_PASSWORD=${DB_PASSWORD:-secret}/" .env
|
||||||
|
|
||||||
|
echo "Waiting for MySQL..."
|
||||||
|
until php -r "new PDO('mysql:host=${DB_HOST:-mysql};dbname=${DB_DATABASE:-glastree}', '${DB_USERNAME:-glastree}', '${DB_PASSWORD:-secret}');" 2>/dev/null; do
|
||||||
|
sleep 2
|
||||||
|
done
|
||||||
|
echo "MySQL ready."
|
||||||
|
else
|
||||||
|
sed -i 's/DB_CONNECTION=mysql/DB_CONNECTION=sqlite/' .env
|
||||||
|
sed -i 's/DB_HOST=.*//' .env
|
||||||
|
sed -i 's/DB_PORT=.*//' .env
|
||||||
|
sed -i 's/DB_DATABASE=.*/DB_DATABASE=\/var\/www\/html\/database\/database.sqlite/' .env
|
||||||
|
sed -i 's/DB_USERNAME=.*//' .env
|
||||||
|
sed -i 's/DB_PASSWORD=.*//' .env
|
||||||
|
|
||||||
|
touch database/database.sqlite
|
||||||
|
chmod 664 database/database.sqlite
|
||||||
|
fi
|
||||||
|
|
||||||
|
php artisan key:generate --force
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f .db_initialized ]; then
|
||||||
|
php artisan package:discover --ansi 2>/dev/null || true
|
||||||
|
php artisan migrate --force
|
||||||
|
php artisan db:seed --force
|
||||||
|
touch .db_initialized
|
||||||
|
fi
|
||||||
|
|
||||||
|
php artisan storage:link --force 2>/dev/null || true
|
||||||
|
php artisan optimize:clear 2>/dev/null || true
|
||||||
|
|
||||||
|
exec "$@"
|
||||||
@@ -342,7 +342,7 @@
|
|||||||
<hr class="my-4">
|
<hr class="my-4">
|
||||||
|
|
||||||
<h4><i class="fas fa-truck mr-2"></i> Procedura di Migrazione Completa</h4>
|
<h4><i class="fas fa-truck mr-2"></i> Procedura di Migrazione Completa</h4>
|
||||||
<p>Segui questa procedura per migrare Glastree su un nuovo server LAMP (Linux, Apache, MySQL, PHP).</p>
|
<p>Segui questa procedura per migrare l'applicazione su un nuovo server LAMP (Linux, Apache, MySQL, PHP).</p>
|
||||||
|
|
||||||
<div class="alert alert-danger">
|
<div class="alert alert-danger">
|
||||||
<i class="fas fa-exclamation-triangle mr-2"></i>
|
<i class="fas fa-exclamation-triangle mr-2"></i>
|
||||||
@@ -365,9 +365,19 @@
|
|||||||
|
|
||||||
sudo a2enmod rewrite</code></pre>
|
sudo a2enmod rewrite</code></pre>
|
||||||
|
|
||||||
<h5 class="mt-4">Passo 3: Clona l'applicazione</h5>
|
<h5 class="mt-4">Passo 3: Ottieni l'applicazione</h5>
|
||||||
|
<div class="callout callout-info py-2">
|
||||||
|
<i class="fas fa-info-circle"></i>
|
||||||
|
Puoi clonare il repository con git oppure estrarre il file ZIP ricevuto nella cartella <code>/var/www/glastree</code>.
|
||||||
|
</div>
|
||||||
<pre><code>cd /var/www
|
<pre><code>cd /var/www
|
||||||
|
|
||||||
|
# Opzione A — Git clone
|
||||||
git clone <URL_REPOSITORY> glastree
|
git clone <URL_REPOSITORY> glastree
|
||||||
|
|
||||||
|
# Opzione B — ZIP (se non hai git)
|
||||||
|
# unzip /percorso/del/glastree.zip -d glastree
|
||||||
|
|
||||||
cd glastree
|
cd glastree
|
||||||
composer install --no-dev --optimize-autoloader
|
composer install --no-dev --optimize-autoloader
|
||||||
npm ci && npm run build</code></pre>
|
npm ci && npm run build</code></pre>
|
||||||
@@ -472,6 +482,11 @@ sudo certbot --apache -d glastree.esempio.it</code></pre>
|
|||||||
<h5>Creare un'immagine Docker con dati di base</h5>
|
<h5>Creare un'immagine Docker con dati di base</h5>
|
||||||
<p>Puoi creare un'immagine Docker pronta all'uso che include l'applicazione e i dati di base (tipologie documenti, tipologie eventi, ruoli). Scegli la configurazione in base alle tue esigenze:</p>
|
<p>Puoi creare un'immagine Docker pronta all'uso che include l'applicazione e i dati di base (tipologie documenti, tipologie eventi, ruoli). Scegli la configurazione in base alle tue esigenze:</p>
|
||||||
|
|
||||||
|
<div class="callout callout-info">
|
||||||
|
<i class="fas fa-info-circle"></i>
|
||||||
|
<strong>Ottenere il codice:</strong> puoi clonare il repository con <code>git clone <URL> glastree</code> oppure, se non hai git, estrarre il file ZIP ricevuto con <code>unzip glastree.zip -d glastree</code> e posizionarti nella cartella <code>glastree</code> prima di procedere.
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="row mb-4">
|
<div class="row mb-4">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="callout callout-info">
|
<div class="callout callout-info">
|
||||||
@@ -703,6 +718,7 @@ volumes:
|
|||||||
mysql_data:</code></pre>
|
mysql_data:</code></pre>
|
||||||
|
|
||||||
<h5 class="mt-4">5. Build e avvio</h5>
|
<h5 class="mt-4">5. Build e avvio</h5>
|
||||||
|
<p>Assicurati di essere nella cartella del progetto (ottenuta via <code>git clone</code> o estraendo il ZIP), poi:</p>
|
||||||
<pre><code># Costruisci l'immagine (comune)
|
<pre><code># Costruisci l'immagine (comune)
|
||||||
docker build -t glastree:latest .
|
docker build -t glastree:latest .
|
||||||
|
|
||||||
@@ -755,7 +771,7 @@ echo 'Utente creato con successo!';
|
|||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5>Panoramica</h5>
|
<h5>Panoramica</h5>
|
||||||
<p>Glastree include un <strong>wizard di installazione web</strong> che guida passo-passo nella configurazione su un nuovo server LAMP. Supporta due modalita:</p>
|
<p>l'applicazione include un <strong>wizard di installazione web</strong> che guida passo-passo nella configurazione su un nuovo server LAMP. Supporta due modalita:</p>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="callout callout-info">
|
<div class="callout callout-info">
|
||||||
@@ -797,8 +813,18 @@ sudo a2enmod rewrite
|
|||||||
sudo systemctl restart apache2</code></pre>
|
sudo systemctl restart apache2</code></pre>
|
||||||
|
|
||||||
<h6>Passo 2: Ottenere l'applicazione</h6>
|
<h6>Passo 2: Ottenere l'applicazione</h6>
|
||||||
|
<div class="callout callout-info py-2">
|
||||||
|
<i class="fas fa-info-circle"></i>
|
||||||
|
Puoi clonare il repository con git oppure estrarre il file ZIP ricevuto nella cartella <code>/var/www/glastree</code>.
|
||||||
|
</div>
|
||||||
<pre><code>cd /var/www
|
<pre><code>cd /var/www
|
||||||
|
|
||||||
|
# Opzione A — Git clone
|
||||||
git clone <URL_REPOSITORY> glastree
|
git clone <URL_REPOSITORY> glastree
|
||||||
|
|
||||||
|
# Opzione B — ZIP (se non hai git)
|
||||||
|
# unzip /percorso/del/glastree.zip -d glastree
|
||||||
|
|
||||||
cd glastree
|
cd glastree
|
||||||
composer install --no-dev --optimize-autoloader
|
composer install --no-dev --optimize-autoloader
|
||||||
npm ci && npm run build</code></pre>
|
npm ci && npm run build</code></pre>
|
||||||
@@ -856,7 +882,7 @@ sudo systemctl reload apache2</code></pre>
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h5 class="mt-4">Modalita Fresh Install</h5>
|
<h5 class="mt-4">Modalita Fresh Install</h5>
|
||||||
<p>Seleziona questa modalita quando installi Glastree per la prima volta su un server.</p>
|
<p>Seleziona questa modalita quando installi l'applicazione per la prima volta su un server.</p>
|
||||||
<p>Cosa succede durante l'installazione:</p>
|
<p>Cosa succede durante l'installazione:</p>
|
||||||
<ol>
|
<ol>
|
||||||
<li>Genera <code>APP_KEY</code> per la crittografia</li>
|
<li>Genera <code>APP_KEY</code> per la crittografia</li>
|
||||||
|
|||||||
@@ -340,7 +340,7 @@
|
|||||||
<hr class="my-4">
|
<hr class="my-4">
|
||||||
|
|
||||||
<h4><i class="fas fa-truck mr-2"></i> Procedura di Migrazione Completa</h4>
|
<h4><i class="fas fa-truck mr-2"></i> Procedura di Migrazione Completa</h4>
|
||||||
<p>Segui questa procedura per migrare Glastree su un nuovo server LAMP (Linux, Apache, MySQL, PHP).</p>
|
<p>Segui questa procedura per migrare l'applicazione su un nuovo server LAMP (Linux, Apache, MySQL, PHP).</p>
|
||||||
|
|
||||||
<div class="alert alert-danger">
|
<div class="alert alert-danger">
|
||||||
<i class="fas fa-exclamation-triangle mr-2"></i>
|
<i class="fas fa-exclamation-triangle mr-2"></i>
|
||||||
@@ -363,9 +363,19 @@
|
|||||||
|
|
||||||
sudo a2enmod rewrite</code></pre>
|
sudo a2enmod rewrite</code></pre>
|
||||||
|
|
||||||
<h5 class="mt-4">Passo 3: Clona l'applicazione</h5>
|
<h5 class="mt-4">Passo 3: Ottieni l'applicazione</h5>
|
||||||
|
<div class="callout callout-info py-2">
|
||||||
|
<i class="fas fa-info-circle"></i>
|
||||||
|
Puoi clonare il repository con git oppure estrarre il file ZIP ricevuto nella cartella <code>/var/www/glastree</code>.
|
||||||
|
</div>
|
||||||
<pre><code>cd /var/www
|
<pre><code>cd /var/www
|
||||||
|
|
||||||
|
# Opzione A — Git clone
|
||||||
git clone <URL_REPOSITORY> glastree
|
git clone <URL_REPOSITORY> glastree
|
||||||
|
|
||||||
|
# Opzione B — ZIP (se non hai git)
|
||||||
|
# unzip /percorso/del/glastree.zip -d glastree
|
||||||
|
|
||||||
cd glastree
|
cd glastree
|
||||||
composer install --no-dev --optimize-autoloader
|
composer install --no-dev --optimize-autoloader
|
||||||
npm ci && npm run build</code></pre>
|
npm ci && npm run build</code></pre>
|
||||||
@@ -470,6 +480,11 @@ sudo certbot --apache -d glastree.esempio.it</code></pre>
|
|||||||
<h5>Creare un'immagine Docker con dati di base</h5>
|
<h5>Creare un'immagine Docker con dati di base</h5>
|
||||||
<p>Puoi creare un'immagine Docker pronta all'uso che include l'applicazione e i dati di base (tipologie documenti, tipologie eventi, ruoli). Scegli la configurazione in base alle tue esigenze:</p>
|
<p>Puoi creare un'immagine Docker pronta all'uso che include l'applicazione e i dati di base (tipologie documenti, tipologie eventi, ruoli). Scegli la configurazione in base alle tue esigenze:</p>
|
||||||
|
|
||||||
|
<div class="callout callout-info">
|
||||||
|
<i class="fas fa-info-circle"></i>
|
||||||
|
<strong>Ottenere il codice:</strong> puoi clonare il repository con <code>git clone <URL> glastree</code> oppure, se non hai git, estrarre il file ZIP ricevuto con <code>unzip glastree.zip -d glastree</code> e posizionarti nella cartella <code>glastree</code> prima di procedere.
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="row mb-4">
|
<div class="row mb-4">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="callout callout-info">
|
<div class="callout callout-info">
|
||||||
@@ -701,6 +716,7 @@ volumes:
|
|||||||
mysql_data:</code></pre>
|
mysql_data:</code></pre>
|
||||||
|
|
||||||
<h5 class="mt-4">5. Build e avvio</h5>
|
<h5 class="mt-4">5. Build e avvio</h5>
|
||||||
|
<p>Assicurati di essere nella cartella del progetto (ottenuta via <code>git clone</code> o estraendo il ZIP), poi:</p>
|
||||||
<pre><code># Costruisci l'immagine (comune)
|
<pre><code># Costruisci l'immagine (comune)
|
||||||
docker build -t glastree:latest .
|
docker build -t glastree:latest .
|
||||||
|
|
||||||
@@ -753,7 +769,7 @@ echo 'Utente creato con successo!';
|
|||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5>Panoramica</h5>
|
<h5>Panoramica</h5>
|
||||||
<p>Glastree include un <strong>wizard di installazione web</strong> che guida passo-passo nella configurazione su un nuovo server LAMP. Supporta due modalita:</p>
|
<p>l'applicazione include un <strong>wizard di installazione web</strong> che guida passo-passo nella configurazione su un nuovo server LAMP. Supporta due modalita:</p>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="callout callout-info">
|
<div class="callout callout-info">
|
||||||
@@ -795,8 +811,18 @@ sudo a2enmod rewrite
|
|||||||
sudo systemctl restart apache2</code></pre>
|
sudo systemctl restart apache2</code></pre>
|
||||||
|
|
||||||
<h6>Passo 2: Ottenere l'applicazione</h6>
|
<h6>Passo 2: Ottenere l'applicazione</h6>
|
||||||
|
<div class="callout callout-info py-2">
|
||||||
|
<i class="fas fa-info-circle"></i>
|
||||||
|
Puoi clonare il repository con git oppure estrarre il file ZIP ricevuto nella cartella <code>/var/www/glastree</code>.
|
||||||
|
</div>
|
||||||
<pre><code>cd /var/www
|
<pre><code>cd /var/www
|
||||||
|
|
||||||
|
# Opzione A — Git clone
|
||||||
git clone <URL_REPOSITORY> glastree
|
git clone <URL_REPOSITORY> glastree
|
||||||
|
|
||||||
|
# Opzione B — ZIP (se non hai git)
|
||||||
|
# unzip /percorso/del/glastree.zip -d glastree
|
||||||
|
|
||||||
cd glastree
|
cd glastree
|
||||||
composer install --no-dev --optimize-autoloader
|
composer install --no-dev --optimize-autoloader
|
||||||
npm ci && npm run build</code></pre>
|
npm ci && npm run build</code></pre>
|
||||||
@@ -854,7 +880,7 @@ sudo systemctl reload apache2</code></pre>
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h5 class="mt-4">Modalita Fresh Install</h5>
|
<h5 class="mt-4">Modalita Fresh Install</h5>
|
||||||
<p>Seleziona questa modalita quando installi Glastree per la prima volta su un server.</p>
|
<p>Seleziona questa modalita quando installi l'applicazione per la prima volta su un server.</p>
|
||||||
<p>Cosa succede durante l'installazione:</p>
|
<p>Cosa succede durante l'installazione:</p>
|
||||||
<ol>
|
<ol>
|
||||||
<li>Genera <code>APP_KEY</code> per la crittografia</li>
|
<li>Genera <code>APP_KEY</code> per la crittografia</li>
|
||||||
|
|||||||
Reference in New Issue
Block a user