No description
  • Go 77%
  • go-html-template 14.2%
  • JavaScript 2.6%
  • CSS 1.8%
  • TypeScript 1.7%
  • Other 2.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-31 23:11:35 +02:00
.devcontainer chore: rename devcontainer name (#12356) 2026-05-01 00:20:15 +02:00
.forgejo Update actions/setup-forgejo to v3.2.3 (forgejo) (#13154) 2026-06-21 03:42:54 +02:00
.semgrep [v16.0/forgejo] chore(refactor): add getter/setter to APIContext data members (#13213) 2026-06-27 18:27:57 +02:00
assets feat: Initial release of Gitliberty v1.0.0 (Ethical, 100% FLOSS, non-profit forge) 2026-08-31 19:18:41 +02:00
build fix: introduce lint-single-response to prevent control flow continuing past a ctx.Error(...)-style method (#13087) 2026-06-14 17:06:03 +02:00
cmd [v16.0/forgejo] fix: use net.JoinHostPort for joining acme host and port (#13380) 2026-07-09 22:19:39 +02:00
contrib fix(coverage): Integration tests don't run with coverage (#12978) 2026-06-13 23:25:38 +02:00
custom fix(persistence): use absolute paths in /data for database, repos, and attachments 2026-08-31 23:11:35 +02:00
docker fix(persistence): use absolute paths in /data for database, repos, and attachments 2026-08-31 23:11:35 +02:00
models fix: disallow owner as collaboration access mode 2026-08-19 08:58:32 -06:00
modules fix: expand local reusable workflows from base branch w/ pull_request_target 2026-08-19 08:58:32 -06:00
options [v16.0/forgejo] i18n: translations update from Codeberg Translate 2026-08-17 19:13:54 +05:00
public fix(brand): add cache-busting version parameter to logo and ensure all logo layers use Gitliberty emblem 2026-08-31 21:06:56 +02:00
release-notes [v16.0/forgejo] feat: render OSC 8 sequences safely (#13324) 2026-07-06 15:42:02 +02:00
release-notes-published chore(release-notes): Forgejo v15.0.3 (#13033) 2026-06-10 07:53:28 +02:00
releases/images [DOCS] RELEASE-NOTES.md 2024-02-05 14:44:32 +01:00
routers feat: Initial release of Gitliberty v1.0.0 (Ethical, 100% FLOSS, non-profit forge) 2026-08-31 19:18:41 +02:00
services fix: expand local reusable workflows from base branch w/ pull_request_target 2026-08-19 08:58:32 -06:00
templates fix(ui): adopt official Forgejo dropdown architecture for navbar language menu 2026-08-31 19:56:49 +02:00
tests chore: add integration test 2026-08-19 08:58:32 -06:00
tools feat: Initial release of Gitliberty v1.0.0 (Ethical, 100% FLOSS, non-profit forge) 2026-08-31 19:18:41 +02:00
web_src fix(ui): hashbox alignment (#13768) (#13810) 2026-08-07 15:13:29 +02:00
.air.toml chore: rename 'migrations' to 'gitea_migrations' 2025-10-14 14:40:49 -06:00
.deadcode-out [v16.0/forgejo] chore(refactor): remove GetX redundant accessors and use X in services/context/api.go (#13217) 2026-06-27 22:44:01 +02:00
.dockerignore fix(assets): include compiled js/css assets in docker image, add gosu and symlinks for 100% asset delivery 2026-08-31 20:41:44 +02:00
.editorconfig i18n(next): convert indention style to tabs: en, editorconfig (#10661) 2026-01-02 05:56:48 +01:00
.env.example feat: Initial release of Gitliberty v1.0.0 (Ethical, 100% FLOSS, non-profit forge) 2026-08-31 19:18:41 +02:00
.envrc.example Make direnv optional to let developers use their own direnv configuration 2024-11-06 20:34:49 +01:00
.gitattributes Add interface{} to any replacement to make fmt, exclude *.pb.go (#30461) 2024-04-15 20:01:36 +02:00
.gitignore feat: Initial release of Gitliberty v1.0.0 (Ethical, 100% FLOSS, non-profit forge) 2026-08-31 19:18:41 +02:00
.gitmodules cleanup(tests): remove manual testing submodule 2024-04-21 10:13:51 +02:00
.gitpod.yml Remove sqlite-viewer and using database client (#31223) 2024-06-09 11:13:39 +02:00
.golangci.yml chore(refactor): run routers/api/v1/permissions/tests from tests/integration (#13157) 2026-06-21 21:43:57 +02:00
.ignore Add /options/license and /options/gitignore to .ignore (#30219) 2024-04-07 15:40:31 +02:00
.mailmap Add .mailmap with aliases for Unknwon (github.com/Unknwon) 2024-08-14 08:26:16 -04:00
.markdownlint.yaml Update JS dependencies (#28537) 2023-12-30 05:29:03 +00:00
.mockery.yml feat: evaluate action job's if on the server-side when possible (#13030) 2026-06-16 00:02:57 +02:00
.node-version Update nodejs to v24.17.0 (forgejo) (#13144) 2026-06-20 02:23:03 +02:00
.npmrc Upgrade to npm lockfile v3 and explicitely set it (#23561) 2023-03-18 19:38:10 +01:00
.release-notes-assistant.yaml chore: fix rna config (#12304) 2026-04-28 18:56:52 +02:00
.spectral.yaml Add spectral linter for Swagger (#20321) 2022-07-11 18:07:16 -05:00
.yamllint.yaml fully replace drone with actions (#27556) 2023-10-11 06:39:32 +00:00
BSDmakefile feat: Makefile & BSDmakefile changes (#7455) 2025-04-27 10:04:32 +00:00
CODEOWNERS chore: update codeowners (#12844) 2026-05-31 14:42:17 +02:00
CONTRIBUTING.md chore: mention CoC and highlight AI agreement in CONTRIBUTING.md (#12867) 2026-06-01 16:17:35 +02:00
DCO Remove address from DCO (#22595) 2023-01-24 18:52:38 +00:00
DEPLOYMENT.md feat: Initial release of Gitliberty v1.0.0 (Ethical, 100% FLOSS, non-profit forge) 2026-08-31 19:18:41 +02:00
docker-compose.sqlite.yml feat(ui): set default theme to forgejo-light (white theme by default) 2026-08-31 19:43:14 +02:00
docker-compose.yml feat(ui): set default theme to forgejo-light (white theme by default) 2026-08-31 19:43:14 +02:00
Dockerfile Update data.forgejo.org/oci/golang Docker tag to v1.26 (forgejo) (#11662) 2026-03-13 08:17:21 +01:00
Dockerfile.gitliberty fix(persistence): persist app.ini in /data/gitea/conf/app.ini so container updates keep installation lock and settings 2026-08-31 21:09:16 +02:00
Dockerfile.rootless Update data.forgejo.org/oci/golang Docker tag to v1.26 (forgejo) (#11662) 2026-03-13 08:17:21 +01:00
eslint.config.mjs Update linters (forgejo) (#11627) 2026-03-12 18:27:43 +01:00
flake.lock chore: update flake.lock; add gnupg as dependency (#12497) 2026-05-09 23:53:35 +02:00
flake.nix refactor: Simplify flake.nix (#9805) 2025-10-22 19:09:11 +02:00
go.mod Update go toolchain directive to v1.26.7 (v16.0/forgejo) (#13992) 2026-08-19 21:25:42 +02:00
go.sum Update module golang.org/x/image to v0.45.0 [SECURITY] (v16.0/forgejo) (#13927) 2026-08-15 00:02:00 +02:00
LICENSE Forgejo v9.0 is GPLv3+ 2024-08-22 09:09:29 +02:00
main.go fix: do not mix urfave v2 with urfave v3 (#8168) 2025-06-12 15:38:03 +02:00
Makefile Update renovate to v43.234.0 (forgejo) (#13161) 2026-06-24 04:01:12 +02:00
manifest.scm chore: add delve Go debugger to Guix manifest (#12662) 2026-05-22 11:09:11 +02:00
package-lock.json feat: Initial release of Gitliberty v1.0.0 (Ethical, 100% FLOSS, non-profit forge) 2026-08-31 19:18:41 +02:00
package.json Update dependency mermaid to v11.16.1 [SECURITY] (v16.0/forgejo) (#13809) 2026-08-07 14:50:15 +02:00
playwright.config.ts chore(e2e): refactor "Toggle visibility" org-members test (#12871) 2026-06-02 14:52:01 +02:00
README.md fix(readme): use pure markdown for header and navigation links 2026-08-31 19:39:00 +02:00
release-notes-assistant.sh fix(rna): prioritize breaking changes without a feature or bug label over non-breaking changes (#12124) 2026-04-17 15:24:58 +02:00
RELEASE-NOTES.md chore(release-notes): fix release notes of chroma update in v8.0.0 2025-10-05 17:10:38 +05:00
shell.nix chore: update flake.lock; add gnupg as dependency (#12497) 2026-05-09 23:53:35 +02:00
stylelint.config.js chore: enforce RTL-friendly logical CSS properties with a linter (#12491) 2026-05-11 00:20:45 +02:00
tailwind.config.js chore(ui): change /devtest to /-/demo (#11019) 2026-01-26 13:12:25 +01:00
tsconfig.json feat(ui): replace Monaco with CodeMirror (#10559) 2026-01-04 23:52:33 +01:00
update-upstream.sh feat: Initial release of Gitliberty v1.0.0 (Ethical, 100% FLOSS, non-profit forge) 2026-08-31 19:18:41 +02:00
vitest.config.ts feat(ui): replace Monaco with CodeMirror (#10559) 2026-01-04 23:52:33 +01:00
webpack.config.js chore(ui): change /devtest to /-/demo (#11019) 2026-01-26 13:12:25 +01:00

Gitliberty Logo

Gitliberty

Le code et le savoir sont des biens communs inaliénables de l'humanité

Forge logicielle collaborative 100% libre, gratuite, sans but lucratif et respectueuse de votre liberté.

Démarrage RapideCommandes UtilesValeursFonctionnalitésManifeste & PagesContactLicence


Démarrage Rapide

Voici les différentes méthodes pour démarrer Gitliberty simplement et sans prise de tête.


Option 1 : Démarrage Express en 1 ligne (Docker Run)

Idéal pour tester immédiatement sur votre machine locale ou un serveur sans créer de fichier :

docker run -d \
  --name gitliberty \
  --restart unless-stopped \
  -p 3000:3000 \
  -p 2222:2222 \
  -v ./data/gitliberty:/data \
  liberchat/gitliberty:latest

L'interface est immédiatement accessible sur http://localhost:3000 (ou sur http://IP_DE_VOTRE_SERVEUR:3000).


Option 2 : Déploiement de Production avec Base PostgreSQL (Recommandé)

Pour un hébergement de production fiable, performant et pérenne avec Docker Compose :

1. Récupérer les fichiers de configuration

Si vous avez cloné le dépôt :

cp .env.example .env

Ou créez simplement un fichier docker-compose.yml avec ce contenu :

services:
  gitliberty:
    image: liberchat/gitliberty:latest
    container_name: gitliberty-server
    restart: unless-stopped
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - FORGEJO__database__DB_TYPE=postgres
      - FORGEJO__database__HOST=db:5432
      - FORGEJO__database__NAME=gitliberty
      - FORGEJO__database__USER=gitliberty
      - FORGEJO__database__PASSWD=gitliberty_password_secret
      - FORGEJO__server__DOMAIN=localhost
      - FORGEJO__server__ROOT_URL=http://localhost:3000/
      - FORGEJO__server__SSH_PORT=2222
      - FORGEJO__server__SSH_LISTEN_PORT=2222
      - FORGEJO__service__DEFAULT_KEEP_EMAIL_PRIVATE=true
      - FORGEJO__picture__AVATAR_MAX_FILE_SIZE=10485760
      - FORGEJO__attachment__MAX_SIZE=64
      - FORGEJO__repository__upload__FILE_MAX_SIZE=64
      - FORGEJO__security__INSTALL_LOCK=true
    volumes:
      - ./data/gitliberty:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"
      - "2222:2222"
    depends_on:
      db:
        condition: service_healthy
    networks:
      - gitliberty-network

  db:
    image: postgres:16-alpine
    container_name: gitliberty-db
    restart: unless-stopped
    environment:
      - POSTGRES_USER=gitliberty
      - POSTGRES_PASSWORD=gitliberty_password_secret
      - POSTGRES_DB=gitliberty
    volumes:
      - ./data/postgres:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U gitliberty -d gitliberty"]
      interval: 5s
      timeout: 5s
      retries: 5
    networks:
      - gitliberty-network

networks:
  gitliberty-network:
    driver: bridge

2. Démarrer les services

docker compose up -d

3. Créer votre compte Administrateur

Exécutez cette commande pour créer immédiatement votre compte administrateur :

docker exec -it -u git gitliberty-server gitliberty admin user create \
  --admin \
  --username gitadmin \
  --password "VotreMotDePasseSecurise" \
  --email "contact@revlibertaire" \
  --must-change-password=false

Rendez-vous ensuite sur http://localhost:3000 et connectez-vous avec gitadmin.


Option 3 : Déploiement Autonome et Léger (SQLite)

Pour les serveurs modestes (VPS 1 Go RAM, Raspberry Pi) ne nécessitant aucun service de base de données externe :

docker compose -f docker-compose.sqlite.yml up -d

Option 4 : Lancement Natif du Binaire (Sans Docker)

Si vous préférez exécuter directement le binaire compilé sur votre machine Linux :

# 1. Compiler le binaire avec le support SQLite
go build -tags 'sqlite sqlite_unlock_notify' -ldflags "-s -w -X 'main.Version=1.0.0-gitliberty'" -o forgejo

# 2. Démarrer le serveur web
./forgejo web

Commandes Utiles au Quotidien

Voir les journaux d'activité (Logs)

docker compose logs -f gitliberty

Redémarrer Gitliberty

docker compose restart

Arrêter Gitliberty

docker compose down

Mettre à jour vers la dernière version

docker compose pull
docker compose up -d

Récupérer les correctifs de sécurité en amont (Upstream Forgejo)

Pour synchroniser automatiquement votre code avec les derniers patchs de sécurité officiels sans toucher à vos personnalisations :

./update-upstream.sh

Consultez DEPLOYMENT.md pour les détails techniques complets.

Réinitialiser le mot de passe d'un utilisateur

docker exec -it -u git gitliberty-server gitliberty admin user change-password \
  --username gitadmin \
  --password "NouveauMotDePasse"

Valeurs & Engagements Inconditionnels

Gitliberty est une forge logicielle éthique, autogérée et indépendante des monopoles privés, propulsée par Forgejo et soutenue par le collectif RevLibertaire :

  • 100% Logiciel Libre (FLOSS) : Code source entièrement ouvert, auditable et sans composants propriétaires.
  • 0€ Gratuit à Vie & Non-Marchand : Aucun abonnement payant, aucun niveau « premium », zéro publicité ni exploitation commerciale de vos données.
  • 0 Pistage & Anonymat Préservé : Zéro traçage publicitaire, e-mails masqués par défaut, chiffrement robuste des échanges et respect strict du RGPD.
  • Léger & Sobriété Numérique : Interface ultra-rapide, sobre en énergie et optimisée pour une efficacité maximale sans bloatware.
  • Entraide & Bien Commun : Le savoir, les algorithmes et les logiciels sont un patrimoine universel au service de toutes et tous.

Fonctionnalités Complètes

  • Hébergement Git Illimité : Dépôts publics ou privés pour vos projets libres, documentations et créations.
  • Gestion Collaborative : Suivi des tickets (Issues), revues de code (Pull Requests), revues de branches et Wikis intégrés.
  • Intégration & Déploiement Continus (CI/CD) : Actions automatisées sans bridage commercial artificiel.
  • Registres de Paquets Libres : Distribution de conteneurs OCI/Docker, paquets logiciels (npm, PyPI, Cargo, Go, Composer, Maven, etc.).
  • API REST Complète : Documentation interactive Swagger OpenAPI intégrée (/api/swagger).
  • Support International (i18n) : Traduction complète dans plus de 70 langues avec sélecteur d'accès direct en haut de page.

Pages Institutionnelles & Manifeste

Gitliberty intègre des pages dédiées natives accessibles depuis la barre de navigation et le footer :


Contact & Soutien

Pour contacter l'équipe, signaler un problème ou soutenir la démarche d'émancipation numérique :

  • E-mail : contact@revlibertaire
  • Collectif : Soutenu par RevLibertaire

Licence

Le projet est distribué sous les termes de la licence libre GNU General Public License v3.0 (GPL-3.0 ou toute version ultérieure).