++ Caricamento Progetto
This commit is contained in:
12
.env.example
Normal file
12
.env.example
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# ─────────────────────────────────────────────
|
||||||
|
# Configurazione ONLYOFFICE + Cloudflare Tunnel
|
||||||
|
# Rinomina questo file in .env prima di avviare
|
||||||
|
# ─────────────────────────────────────────────
|
||||||
|
|
||||||
|
# Token del tunnel Cloudflare (prendilo dal dashboard Zero Trust)
|
||||||
|
# ATTENZIONE: non condividere mai questo valore pubblicamente
|
||||||
|
CLOUDFLARE_TOKEN=il_tuo_token_qui
|
||||||
|
|
||||||
|
# Chiave JWT per proteggere l'accesso all'API di ONLYOFFICE
|
||||||
|
# Genera con: openssl rand -hex 32
|
||||||
|
JWT_SECRET=cambia_con_stringa_casuale_sicura
|
||||||
12
.gitignore
vendored
Normal file
12
.gitignore
vendored
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
### Windows
|
||||||
|
# Windows thumbnail cache files
|
||||||
|
Thumbs.db
|
||||||
|
|
||||||
|
# Folder config file
|
||||||
|
[Dd]esktop.ini
|
||||||
|
|
||||||
|
# Recycle Bin used on file shares
|
||||||
|
$RECYCLE.BIN/
|
||||||
|
|
||||||
|
# Windows shortcuts
|
||||||
|
*.lnk
|
||||||
58
docker-compose.yml
Normal file
58
docker-compose.yml
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
services:
|
||||||
|
|
||||||
|
# ─────────────────────────────────────────────
|
||||||
|
# ONLYOFFICE Document Server (modalità lite)
|
||||||
|
# Usa SQLite + memoria interna, niente PostgreSQL/RabbitMQ
|
||||||
|
# ─────────────────────────────────────────────
|
||||||
|
onlyoffice:
|
||||||
|
image: onlyoffice/documentserver:latest
|
||||||
|
container_name: onlyoffice
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
JWT_ENABLED: "true"
|
||||||
|
JWT_SECRET: ${JWT_SECRET}
|
||||||
|
JWT_HEADER: Authorization
|
||||||
|
volumes:
|
||||||
|
- onlyoffice_data:/var/www/onlyoffice/Data
|
||||||
|
- onlyoffice_logs:/var/log/onlyoffice
|
||||||
|
- onlyoffice_lib:/var/lib/onlyoffice
|
||||||
|
expose:
|
||||||
|
- "80"
|
||||||
|
# Limiti risorse — adatta in base alla RAM disponibile
|
||||||
|
mem_limit: 1g
|
||||||
|
mem_reservation: 512m
|
||||||
|
cpus: "1.0"
|
||||||
|
networks:
|
||||||
|
- office_net
|
||||||
|
|
||||||
|
# ─────────────────────────────────────────────
|
||||||
|
# Cloudflare Tunnel — nessuna porta esposta
|
||||||
|
# Instrada il traffico da Cloudflare → onlyoffice:80
|
||||||
|
# ─────────────────────────────────────────────
|
||||||
|
cloudflared:
|
||||||
|
image: cloudflare/cloudflared:latest
|
||||||
|
container_name: cloudflared
|
||||||
|
restart: unless-stopped
|
||||||
|
command: tunnel --no-autoupdate run --token ${CLOUDFLARE_TOKEN}
|
||||||
|
mem_limit: 128m
|
||||||
|
mem_reservation: 64m
|
||||||
|
cpus: "0.25"
|
||||||
|
depends_on:
|
||||||
|
- onlyoffice
|
||||||
|
networks:
|
||||||
|
- office_net
|
||||||
|
|
||||||
|
# ─────────────────────────────────────────────
|
||||||
|
# Volumi persistenti
|
||||||
|
# ─────────────────────────────────────────────
|
||||||
|
volumes:
|
||||||
|
onlyoffice_data:
|
||||||
|
onlyoffice_logs:
|
||||||
|
onlyoffice_lib:
|
||||||
|
|
||||||
|
# ─────────────────────────────────────────────
|
||||||
|
# Rete interna
|
||||||
|
# ─────────────────────────────────────────────
|
||||||
|
networks:
|
||||||
|
office_net:
|
||||||
|
driver: bridge
|
||||||
Reference in New Issue
Block a user