- Go 77%
- go-html-template 14.2%
- JavaScript 2.6%
- CSS 1.8%
- TypeScript 1.7%
- Other 2.6%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .devcontainer | ||
| .forgejo | ||
| .semgrep | ||
| assets | ||
| build | ||
| cmd | ||
| contrib | ||
| custom | ||
| docker | ||
| models | ||
| modules | ||
| options | ||
| public | ||
| release-notes | ||
| release-notes-published | ||
| releases/images | ||
| routers | ||
| services | ||
| templates | ||
| tests | ||
| tools | ||
| web_src | ||
| .air.toml | ||
| .deadcode-out | ||
| .dockerignore | ||
| .editorconfig | ||
| .env.example | ||
| .envrc.example | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| .gitpod.yml | ||
| .golangci.yml | ||
| .ignore | ||
| .mailmap | ||
| .markdownlint.yaml | ||
| .mockery.yml | ||
| .node-version | ||
| .npmrc | ||
| .release-notes-assistant.yaml | ||
| .spectral.yaml | ||
| .yamllint.yaml | ||
| BSDmakefile | ||
| CODEOWNERS | ||
| CONTRIBUTING.md | ||
| DCO | ||
| DEPLOYMENT.md | ||
| docker-compose.sqlite.yml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| Dockerfile.gitliberty | ||
| Dockerfile.rootless | ||
| eslint.config.mjs | ||
| flake.lock | ||
| flake.nix | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| main.go | ||
| Makefile | ||
| manifest.scm | ||
| package-lock.json | ||
| package.json | ||
| playwright.config.ts | ||
| README.md | ||
| release-notes-assistant.sh | ||
| RELEASE-NOTES.md | ||
| shell.nix | ||
| stylelint.config.js | ||
| tailwind.config.js | ||
| tsconfig.json | ||
| update-upstream.sh | ||
| vitest.config.ts | ||
| webpack.config.js | ||
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 Rapide • Commandes Utiles • Valeurs • Fonctionnalités • Manifeste & Pages • Contact • Licence
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 :
- Manifeste & À propos :
/manifesto - Politique de Confidentialité (RGPD) :
/privacy - Charte & CGU :
/tos - Mentions Légales :
/legal - Code de Conduite Communautaire :
/conduct
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).