Benvenuta Ente 1.0!
Ente Photos, una bella alternativa libera e crittografata end-to-end a Google Photos, diventa grande e mostra la sua prima versione stabile!
https://www.lealternative.net/2025/03/29/benvenuta-ente-1-0/
@Fediverso @ente @lealternative pensate sia meglio di #immich ?
Secondo me si, usa pochissime risorse su server
@Moonrise2473 ma ricordo male oppure l'app android non permette l'utilizzo di istanze private
permette le istanze private, c’è da fare tipo 6 tap sul banner di login mi pare, tipo come si abilita la modalità developer in android
@Moonrise2473 lo sto provando ma non capisco una cosa avvio il container vado nella pagina di login sul mio server e mi fa creare un account
non c'è un primo login da amministratore? E poiho provato ma non mi fa fare la registrazione non mi accetta l'email
Il primo account creato viene automaticamente promosso ad admin
E siccome all’inizio probabilmente il server SMTP non è configurato, il codice di verifica email si trova nei log (docker log nome container)
@Moonrise2473 ma non è che non mi invia l'e-mail di verifica non mi fa fare neppure la registrazione
Ora guardo un attimo i docker compose yml che avevo fatto perché il nuovo metodo “esegui questo script scaricato da internet” semplifica tutto al punto in cui secondo me rende le cose più complicate, specialmente se si vuole pubblicare il servizio online, secondo me, visto che sono quattro servizi che devono essere esposti, le api a :8080, un server S3 a :3200 (possibile usare anche altri pre esistenti tipo idrive o B2), la pagina web statica a :3000 (possibile hostarla su GitHub Pages o altri server) e il database post gres. Io ho messo tutto in una rete docker separata e ci accedo via cloudflare tunnel. E non uso i volumi docker per facilitate il backup
@Moonrise2473 che casino bho ho fatto da cellulare ieri sera, al massimo vedo nel weekend da pc
questo il mio docker-compose.yml:
networks: cloudflared: external: true postgres: external: true services: museum: environment: - "ENTE_CREDENTIALS_FILE=/credentials.yaml" image: "ghcr.io/ente-io/server" networks: - "postgres" - "cloudflared" restart: "unless-stopped" volumes: - "/mnt/ssd/docker/ente/credentials.yaml:/credentials.yaml:ro" - "/mnt/ssd/docker/ente/custom-logs:/var/logs" - "/mnt/ssd/docker/ente/data:/data:ro" - "/mnt/ssd/docker/ente/museum.yaml:/museum.yaml:ro" photo-backup: image: "ente-photo-backup:latest" network_mode: "bridge" restart: "unless-stopped" volumes: - "/mnt/ssd/docker/ente/cli-data:/cli-data" - "/mnt/ssd/docker/ente/config.yaml:/config.yaml" - "/mnt/ssd/docker/ente/ente:/ente" - "/mnt/hdd/Backups/ente:/backup" postgresente: environment: - "POSTGRES_USER=pguser" - "POSTGRES_PASSWORD=pgpass" - "POSTGRES_DB=ente_db" image: "postgres:15" networks: - "postgres" restart: "unless-stopped" volumes: - "/mnt/ssd/docker/ente/postgres-data:/var/lib/postgresql/data" web-build: image: "ente-web-builder:latest" network_mode: "bridge" restart: "unless-stopped" volumes: - "/mnt/ssd/docker/caddy/ente-web:/output" - "/mnt/ssd/docker/ente/build-web.sh:/build-web.sh"
note:
all’epoca il client web non lo facevano preconfezionato in una pratica immagine docker ma era “che ci vuole basta compilarlo da soli con node” - quindi feci un’immagine locale ente-web-builder
che chiamo tutte le domeniche per rifarmi la compilazione, poi la servo con caddy. Ho accidentalmente eliminato il Dockerfile, quindi devo fare un po’ di reverse engineering per capire cosa ho fatto l’anno scorso. Si può usare la loro immagine docker che però se ho capito bene usa node serve
- un po’ assurdo usare node per hostare delle pagine statiche. Da maniaco dell’efficienza lo rifeci con Caddy.
photo-backup
è un’immagine docker fatta da me che tutte le domeniche usa ente-cli
per scaricare il backup di tutte le foto di tutti gli utenti. Ho accidentalmente eliminato il Dockerfile quindi devo fare un po’ di reverse engineering per capire cosa feci l’anno scorso
supponendo che il client web lo si pubblichi su photo.example.com,
bisogna creare museum.yaml e scriverci
apps: public-albums: "https://photo.example.com/" e poi le key encryption, hash, jwt secret, i dati smtp, e poi volendo quali id utenti sono admin
supponendo che museum
lo si pubblichi su api.example.com,
bisogna creare config.yaml e scriverci
endpoint: api: "https://api.example.com/"
credentials.yml
in pratica sono questi 4 componenti:
backup strategy: