Questo progetto fornisce un ambiente Docker per l'esecuzione delle parti dell'applicazione cs-ordini, inclusa l'API in PHP e l'interfaccia Vue.js.
- Docker e Docker Compose devono essere installati sulla tua macchina.
- Clona il repository:
git clone https://github.com/username/cs-ordini-docker.git
- Naviga nella directory del progetto:
cd cs-ordini-docker
- Crea una copia dell'ambiente di sviluppo:
cp .env.example .env
-
Apri il file .env e configura le variabili d'ambiente secondo le tue esigenze.
-
Avvia i contenitori Docker:
docker-compose up -d
-
Accedi all'applicazione API in PHP: Apri il browser e visita: http://localhost:8080
-
Accedi all'applicazione Vue.js: Apri il browser e visita: http://localhost:3000
-
Accedi al servizio di caching Redis: Il servizio Redis è in esecuzione all'indirizzo localhost:6379.
-
Accedi ai log con Kibana: Apri il browser e visita: http://localhost:5601 Configura l'indice "logstash-*" in Kibana per visualizzare i log.
-
Esegui il servizio di backup con Rclone: Il servizio di backup con Rclone è in esecuzione all'interno del container. Consulta la documentazione di Rclone per configurare e utilizzare il backup.
-
Per arrestare i contenitori Docker:
docker-compose down
cs-ordini-docker/
├── cs-ordini-api/
│ ├── Dockerfile
│
├── cs-ordini-vue/
│ ├── Dockerfile
│
├── cs-ordini-cache/
│ ├── Dockerfile
│
├── cs-ordini-log/
│ ├── Dockerfile
│ ├── logstash.conf
│ ├── rclone.conf
│
├── cs-ordini-backup/
│ ├── Dockerfile
│ ├── backup.sh
│ ├── rclone.conf
│
├── docker-compose.yml
└── .env.example
MYSQL_ROOT_PASSWORD=your_database_root_password MYSQL_DATABASE=your_database_name MYSQL_USER=your_database_user MYSQL_PASSWORD=your_database_password
RCLONE_REMOTE_NAME=remote RCLONE_REMOTE_TYPE=your_remote_type RCLONE_REMOTE_PROVIDER=your_remote_provider RCLONE_REMOTE_CLIENT_ID=your_client_id RCLONE_REMOTE_CLIENT_SECRET=your_client_secret RCLONE_REMOTE_SCOPE=your_scope RCLONE_REMOTE_TOKEN=your_token
Per eseguire un backup dei dati dell'applicazione, puoi utilizzare il servizio di backup con Rclone. Esegui il seguente comando all'interno del container cs-ordini-backup
:
docker exec cs-ordini-backup-container /backup.sh
Per ripristinare i dati da un backup, segui la documentazione di Rclone per utilizzare il comando rclone sync per copiare i dati dall'archivio di backup al percorso desiderato.
Se desideri eseguire uno script all'interno di un container, utilizza il comando docker exec
seguito dal nome del container e il percorso dello script all'interno del container:
docker exec cs-ordini-backup-container /path/to/script.sh
Se desideri accedere a una shell interattiva all'interno di un container, utilizza il comando docker exec con l'opzione -it:
docker exec -it cs-ordini-vue-container /bin/bash
- Docker versione 20.10 o superiore
- Docker Compose versione 1.27 o superiore
- Almeno 8 GB di RAM disponibile
- Almeno 100 GB di spazio su disco
- Mantieni le tue variabili d'ambiente sensibili, come le credenziali del database e dell'autenticazione, al sicuro e non le condividere nel repository.
- Assicurati di proteggere l'accesso ai servizi esposti tramite autenticazione e autorizzazione adeguata.
- Considera l'uso di un reverse proxy (ad esempio Nginx) per gestire l'accesso HTTPS ai tuoi servizi Docker e aumentare la sicurezza.
- Mantieni aggiornati i tuoi container e i pacchetti software per mitigare le vulnerabilità di sicurezza note.
Se desideri contribuire a questo progetto, sentiti libero di aprire una pull request o segnalare problemi nella sezione delle issue.
Questo progetto è rilasciato con licenza GNU Affero General Public License.