# Wger
## Descrizione [![Sito ufficiale](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=firefoxbrowser&style=flat&label=&message=Homepage)](https://wger.de/) [![Sorgente](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=github&style=flat&label=&message=Sorgente)](https://github.com/wger-project/wger) [![Docker Hub](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=docker&style=flat&label=&message=Docker Hub)](https://hub.docker.com/r/wger/base) [![Docs](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=readthedocs&style=flat&label=&message=Docs)](https://wger.readthedocs.io) [![Demo](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=jekyll&style=flat&label=&message=Demo)](https://wger.de/it/user/demo-entries) Wger è un server per la gestione della vostra alimentazione e allenamenti: - Interfaccia web multilingua e di facile comprensione - Per comodità esiste anche un'app per [Android](https://play.google.com/store/apps/details?id=de.wger.flutter) ## Struttura file e cartelle ``` /home/ └── docker/ └── wger/ ├── db/ ├── media/ ├── static/ ├── .env └── docker-compose.yml ``` - `db/` - cartella dove i dati del database vengono salvati - `media/` - cartella dove le foto di wger vengono salvate - `static/` - cartella dove i dati di wger vengono salvati - `.env` - file contenenti le variabili environment per il docker-compose - `docker-compose.yml` - file usato per creare il container **N.B. Tutti i file e le cartelle devono essere creati a mano.** ## Esempi Semplice esempio per iniziare ad usare subito il container Le credenziali per il primo login sono le seguenti: - Username: **admin** - Password: **adminadmin** ### network `docker` ```bash docker network create custom-bridge ``` `podman` ```bash podman network create custom-bridge ``` ### docker-compose `docker-compose.yml` ```yml version: "3.8" services: db: container_name: wger-db image: postgres:13-alpine security_opt: - no-new-privileges:true networks: - custom-bridge restart: always env_file: .env volumes: - ${POSTGRES_DATA:-/home/docker/wger/db}:/var/lib/postgresql/data - /etc/localtime:/etc/localtime:ro healthcheck: test: ["CMD", "pg_isready", "-U", "wger"] interval: 1m30s timeout: 10s retries: 3 start_period: 10s cache: container_name: wger-cache image: redis:alpine security_opt: - no-new-privileges:true networks: - custom-bridge restart: always wger: container_name: wger image: wger/devel networks: - custom-bridge restart: unless-stopped depends_on: - db - cache ports: - ${WGER_WEBUI_PORT:-8000}:8000 env_file: .env volumes: - ${WGER_STATIC:-/home/docker/wger/static}:/wger/static - ${WGER_MEDIA:-/home/docker/wger/media}/wger/media networks: custom-bridge: name: custom-bridge driver: bridge ``` `.env` ```bash # Generale POSTGRES_DATA=/home/docker/wger/db WGER_DATA=/home/docker/wger/static WGER_DATA=/home/docker/wger/media WGER_WEBUI_PORT=8000 # Postgres POSTGRES_DB=wger POSTGRES_USER=wger POSTGRES_PASSWORD=wger # Database DJANGO_DB_ENGINE=django.db.backends.postgresql DJANGO_DB_DATABASE=wger DJANGO_DB_USER=wger DJANGO_DB_PASSWORD=wger DJANGO_DB_HOST=db DJANGO_DB_PORT=5432 # Cache DJANGO_CACHE_BACKEND=django_redis.cache.RedisCache DJANGO_CACHE_LOCATION=redis://cache:6379/1 DJANGO_CACHE_TIMEOUT= 1296000 # 60*60*24*15, 15 giorni DJANGO_CACHE_CLIENT_CLASS=django_redis.client.DefaultClient DJANGO_MEDIA_ROOT=/home/wger/media # Da cambiare con qualcosa di diverso SECRET_KEY = CAMBIAMIPERFAVORE # Registrazioni ALLOW_REGISTRATION = True ALLOW_GUEST_USERS = True FROM_EMAIL=info@example.com # Indirizzo da dove vengono mandate le email # Altro DJANGO_DEBUG=False WGER_USE_GUNICORN=True TIME_ZONE=Europe/Amsterdam SITE_URL=http://localhost:8000 ``` ## Reverse proxy Vedi [Todo](#Todo) ## Aggiornamento ### Automatico Usando [watchtower](../watchtower) il container si aggiorna automaticamente ### Manuale 1. `docker-compose up -d` 2. `docker image prune` ## Backup e ripristino ### Backup Usate [borg](../borg) per fare i backup giornalieri dell'intera cartella `wger` ### Ripristino Per una maggiore spiegazione sui passaggi da fare, controllate [qua](../borg#user-content-controllare-la-cartella-dei-backup) 1. fermare il container `docker-compose down` 2. cancellare l'intera cartella `wger` 3. dal backup copiare la cartella `wger` 4. far ripartire il container `docker-compose up -d` ## Todo Implementare: - reverse proxy: **[caddy](https://caddyserver.com/)** o **[traefik](https://doc.traefik.io/traefik/)** --- Licenza: [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode.txt)