Supporto LFS su gitea #10

Closed
opened 2021-12-11 20:26:11 +00:00 by giuliof · 6 comments
Owner

Considerare la possibilità di aggiungere il supporto a LFS (Large File Storage) sull'istanza di gitea:

[server]
; Enables git-lfs support. true or false, default is false.
LFS_START_SERVER = true
; Where your lfs files reside, default is data/lfs.
LFS_CONTENT_PATH = /home/gitea/data/lfs

(fonte: https://docs.gitea.io/en-us/git-lfs-setup/)

Considerare la possibilità di aggiungere il supporto a LFS (Large File Storage) sull'istanza di gitea: ``` [server] ; Enables git-lfs support. true or false, default is false. LFS_START_SERVER = true ; Where your lfs files reside, default is data/lfs. LFS_CONTENT_PATH = /home/gitea/data/lfs ``` (fonte: https://docs.gitea.io/en-us/git-lfs-setup/)
Owner

Appoggio la proposta.
Naturalmente poi occorre definire il repository come lfs usando le corrette impostazioni.
L'unica cosa che ho notato e' che le funzionalita' di "diff" per le immagini (png, jpg ecc) non funzionano con i files memorizzati nel formato lfs.

Appoggio la proposta. Naturalmente poi occorre definire il repository come lfs usando le corrette impostazioni. L'unica cosa che ho notato e' che le funzionalita' di "diff" per le immagini (png, jpg ecc) non funzionano con i files memorizzati nel formato lfs.
Owner

Mi sembra una richiesta ragionevole, e se davvero basta abilitare quell'impostazione e farsi un nuovo sottovolume, anche una cosa facilmente fattibile.
L'unico dubbio che mi viene è relativo allo spazio disco che verrà impiegato.
Per quale caso d'uso prevediamo di usare questa funzionalità?

BTW aggiungo nel TODO.

Mi sembra una richiesta ragionevole, e se davvero basta abilitare quell'impostazione e farsi un nuovo sottovolume, anche una cosa facilmente fattibile. L'unico dubbio che mi viene è relativo allo spazio disco che verrà impiegato. Per quale caso d'uso prevediamo di usare questa funzionalità? BTW aggiungo nel TODO.
giomba added the
enhancement
label 2021-12-15 07:50:52 +00:00
giomba self-assigned this 2021-12-15 07:51:00 +00:00
Owner

Mi sembra una richiesta ragionevole, e se davvero basta abilitare quell'impostazione e farsi un nuovo sottovolume, anche una cosa facilmente fattibile.

Occorre anche ricordarsi di installare, se non gia' presenti, le estensioni LFS di git.

L'unico dubbio che mi viene è relativo allo spazio disco che verrà impiegato.

Se ne ho capito il funzionamento lo spazio disco impegnato dovrebbe essere inferiore per i files memorizzati nel sistema LFS rispetto ai blob memorizzati normalmente nel fs virtuale di git.

Per quale caso d'uso prevediamo di usare questa funzionalità?

BTW aggiungo nel TODO.

> Mi sembra una richiesta ragionevole, e se davvero basta abilitare quell'impostazione e farsi un nuovo sottovolume, anche una cosa facilmente fattibile. Occorre anche ricordarsi di installare, se non gia' presenti, le estensioni LFS di git. > L'unico dubbio che mi viene è relativo allo spazio disco che verrà impiegato. Se ne ho capito il funzionamento lo spazio disco impegnato dovrebbe essere inferiore per i files memorizzati nel sistema LFS rispetto ai blob memorizzati normalmente nel fs virtuale di git. > Per quale caso d'uso prevediamo di usare questa funzionalità? > > BTW aggiungo nel TODO.
Owner

Abbiamo appena scoperto che l'immagine docke standard non ha installato il supporto LFS.
Vedi le issues di gitea:
https://github.com/go-gitea/gitea/issues/4756
https://github.com/go-gitea/gitea/pull/4757

Abbiamo appena scoperto che l'immagine docke standard non ha installato il supporto LFS. Vedi le issues di gitea: https://github.com/go-gitea/gitea/issues/4756 https://github.com/go-gitea/gitea/pull/4757
Owner

Aluuuura....
Ho fatto due esperimenti.
Sulla mia macchina ho avviato un container gitea/gitea:1.19.0 e, sorpresa, ha gia' LFS attivo e funzionante d'ufficio.
Questo di seguito e il file di configurazione che ha generato gitea stesso e da cui si vede che LFS e' attivo; per semplicita' ho usato il db sqlite, ma ho anche provato a creare un repository con LFS e a fare il push, tutto ha funzionato subito:


APP_NAME = Gitea: Git with a cup of tea
RUN_MODE = prod
RUN_USER = git

[repository]
ROOT = /data/git/repositories

[repository.local]
LOCAL_COPY_PATH = /data/gitea/tmp/local-repo

[repository.upload]
TEMP_PATH = /data/gitea/uploads

[server]
APP_DATA_PATH    = /data/gitea
DOMAIN           = localhost
SSH_DOMAIN       = localhost
HTTP_PORT        = 3000
ROOT_URL         = http://localhost:8080/
DISABLE_SSH      = false
SSH_PORT         = 22
SSH_LISTEN_PORT  = 22
LFS_START_SERVER = true
LFS_JWT_SECRET   = <stringa-caratteri-casuali>
OFFLINE_MODE     = false

[database]
PATH     = /data/gitea/gitea.db
DB_TYPE  = sqlite3
HOST     = localhost:3306
NAME     = gitea
USER     = root
PASSWD   = 
LOG_SQL  = false
SCHEMA   = 
SSL_MODE = disable
CHARSET  = utf8

[indexer]
ISSUE_INDEXER_PATH = /data/gitea/indexers/issues.bleve

[session]
PROVIDER_CONFIG = /data/gitea/sessions
PROVIDER        = file

[picture]
AVATAR_UPLOAD_PATH            = /data/gitea/avatars
REPOSITORY_AVATAR_UPLOAD_PATH = /data/gitea/repo-avatars

[attachment]
PATH = /data/gitea/attachments

[log]
MODE      = console
LEVEL     = info
ROUTER    = console
ROOT_PATH = /data/gitea/log

[security]
INSTALL_LOCK                  = true
SECRET_KEY                    = 
REVERSE_PROXY_LIMIT           = 1
REVERSE_PROXY_TRUSTED_PROXIES = *
INTERNAL_TOKEN                = <lunga-stringa-caratteri-casuali>
PASSWORD_HASH_ALGO            = pbkdf2

[service]
DISABLE_REGISTRATION              = false
REQUIRE_SIGNIN_VIEW               = false
REGISTER_EMAIL_CONFIRM            = false
ENABLE_NOTIFY_MAIL                = false
ALLOW_ONLY_EXTERNAL_REGISTRATION  = false
ENABLE_CAPTCHA                    = false
DEFAULT_KEEP_EMAIL_PRIVATE        = false
DEFAULT_ALLOW_CREATE_ORGANIZATION = true
DEFAULT_ENABLE_TIMETRACKING       = true
NO_REPLY_ADDRESS                  = noreply.localhost

[lfs]
PATH = /data/git/lfs

[mailer]
ENABLED = false

[openid]
ENABLE_OPENID_SIGNIN = true
ENABLE_OPENID_SIGNUP = true

[cron.update_checker]
ENABLED = true

[repository.pull-request]
DEFAULT_MERGE_STYLE = merge

[repository.signing]
DEFAULT_TRUST_MODEL = committer

Riapro quindi questa issue perche' sarebbe da provare a mettere nel .ini le opzioni che mancano e verificare, io credo che basterebbe questo per attivare la gestione LFS.

Aluuuura.... Ho fatto due esperimenti. Sulla mia macchina ho avviato un container gitea/gitea:1.19.0 e, sorpresa, ha gia' LFS attivo e funzionante d'ufficio. Questo di seguito e il file di configurazione che ha generato gitea stesso e da cui si vede che LFS e' attivo; per semplicita' ho usato il db sqlite, ma ho anche provato a creare un repository con LFS e a fare il push, tutto ha funzionato subito: ``` APP_NAME = Gitea: Git with a cup of tea RUN_MODE = prod RUN_USER = git [repository] ROOT = /data/git/repositories [repository.local] LOCAL_COPY_PATH = /data/gitea/tmp/local-repo [repository.upload] TEMP_PATH = /data/gitea/uploads [server] APP_DATA_PATH = /data/gitea DOMAIN = localhost SSH_DOMAIN = localhost HTTP_PORT = 3000 ROOT_URL = http://localhost:8080/ DISABLE_SSH = false SSH_PORT = 22 SSH_LISTEN_PORT = 22 LFS_START_SERVER = true LFS_JWT_SECRET = <stringa-caratteri-casuali> OFFLINE_MODE = false [database] PATH = /data/gitea/gitea.db DB_TYPE = sqlite3 HOST = localhost:3306 NAME = gitea USER = root PASSWD = LOG_SQL = false SCHEMA = SSL_MODE = disable CHARSET = utf8 [indexer] ISSUE_INDEXER_PATH = /data/gitea/indexers/issues.bleve [session] PROVIDER_CONFIG = /data/gitea/sessions PROVIDER = file [picture] AVATAR_UPLOAD_PATH = /data/gitea/avatars REPOSITORY_AVATAR_UPLOAD_PATH = /data/gitea/repo-avatars [attachment] PATH = /data/gitea/attachments [log] MODE = console LEVEL = info ROUTER = console ROOT_PATH = /data/gitea/log [security] INSTALL_LOCK = true SECRET_KEY = REVERSE_PROXY_LIMIT = 1 REVERSE_PROXY_TRUSTED_PROXIES = * INTERNAL_TOKEN = <lunga-stringa-caratteri-casuali> PASSWORD_HASH_ALGO = pbkdf2 [service] DISABLE_REGISTRATION = false REQUIRE_SIGNIN_VIEW = false REGISTER_EMAIL_CONFIRM = false ENABLE_NOTIFY_MAIL = false ALLOW_ONLY_EXTERNAL_REGISTRATION = false ENABLE_CAPTCHA = false DEFAULT_KEEP_EMAIL_PRIVATE = false DEFAULT_ALLOW_CREATE_ORGANIZATION = true DEFAULT_ENABLE_TIMETRACKING = true NO_REPLY_ADDRESS = noreply.localhost [lfs] PATH = /data/git/lfs [mailer] ENABLED = false [openid] ENABLE_OPENID_SIGNIN = true ENABLE_OPENID_SIGNUP = true [cron.update_checker] ENABLED = true [repository.pull-request] DEFAULT_MERGE_STYLE = merge [repository.signing] DEFAULT_TRUST_MODEL = committer ``` Riapro quindi questa issue perche' sarebbe da provare a mettere nel .ini le opzioni che mancano e verificare, io credo che basterebbe questo per attivare la gestione LFS.
gbiotti reopened this issue 2023-05-18 14:11:16 +00:00
Owner

Risolto (o forse ha sempre funzionato) spostando la direttiva LFS_CONTENT_PATH dal blocco [server] al blocco [lfs]
In realta' la documentazione attuale dice che la direttiva da usare e' cambiata e si deve usare PATH invece di LFS_CONTENT_PATH; infatti facendo una installazione ex-novo la direttiva creata di default e' appunto PATH.
Chiudo la issue come risolta, da valutare se aprirne una nuova per verificare e aggiornare le impostazioni secondo la nuova documentazione.

Risolto (o forse ha sempre funzionato) spostando la direttiva `LFS_CONTENT_PATH` dal blocco `[server]` al blocco `[lfs]` In realta' la documentazione attuale dice che la direttiva da usare e' cambiata e si deve usare `PATH` invece di `LFS_CONTENT_PATH`; infatti facendo una installazione ex-novo la direttiva creata di default e' appunto `PATH`. Chiudo la issue come risolta, da valutare se aprirne una nuova per verificare e aggiornare le impostazioni secondo la nuova documentazione.
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: golem/morgan#10
No description provided.