This page permanently redirects to gemini://gronkiewicz.dev/forgejo/.
2024-03-31 Patryk Gronkiewicz
Pasowałoby napisać coś na rozruch po dłuższej nieobecności. Może zacznijmy od dość przyjemnego tematu, jakim są „kuźnie oprogramowania” (software forge). Czym są, kto z nich korzysta i dlaczego akurat lubię Forgejo i Codeberga? O tym postaram się ci dzisiaj opowiedzieć.
Forgejo jest otwartoźródłowym forkiem Gitea --- jest to narzędzie podobne do Microsoft GitHuba, GitLaba czy mniej popularnego Bitbucketa od Atlassian.
Ma bardzo podobne dostępne funkcje, takie jak: zarządzanie kodem przez repozytoria, issue (które można przekierować do zewnętrznego narzędzia, jeśli ktoś lubi), pull requesty, wiki, a nawet natywne wsparcie do CI/CD bardzo zbliżonego do GitHub Actions.
Dlaczego zostało stworzone? O szczegółach możecie poczytać w FAQ Forgejo, ale w dużym skrócie --- główny developer Gitea przekazał ją organizacji służącej zarabianiu, bez zgody i wiedzy społeczności.
=> Forgejo FAQ
Codeberg to prawdziwa alternatywa dla MS GitHub, która jest nakierowana na wolne i otwarte oprogramowanie.
W jego zasadach jest jasno napisane, że nie można mieć repozytoriów prywatnych, chyba że jest to koniecznie potrzebne w procesie tworzenia kodu, a i one powinny być ograniczone do minimum.
Jest to serwis bazujący na Forgejo, który jest jego głównym rozwijającym (a dokładniej Codeberg e.V., będący organizacją non-profit).
Można na nim znaleźć wiele ciekawych, otwartych projektów, takich jak np. Gadgetbridge, który jest aplikacją służącą do podpięcia smart-urządzeń do telefonu bez zamkniętych aplikacji producentów.
=> Repozytorium Gadgetbridge na Codeberg
Może wydaje się to trochę ekscentryczne, ale:
=> issue na Codebergu śledzące postęp w federacji | wątek na HackerNews z dyskusją o generowaniu kodu na licencji GPL przez Copilota
Wszystkie te punkty powodują, że osobiście mam dużo większą chęć udzielać się w środowisku Codeberga niż GitHuba.
Sam nawet stworzyłem paczkę do wrzucania szybkich wpisów na Misskey prosto z Emacsa, co na GitHubie zdarza mi się raczej nieczęsto.
=> Paczka misspost.el na Codebergu
O ile jestem fanem FOSS, tak często nie chcę dzielić się swoją pracą w jej trakcie, a udostępniam już coś raczej gotowego.
Nie chce w tym celu nadużywać prywatnych repozytoriów na Codebergu, więc stworzyłem własną instancję Forgejo, co zajmuje dosłownie moment,
razem z runnerem, który automatycznie aktualizuje stronę, na którą właśnie patrzycie.
Jeśli ktoś jest ciekawy, to może przejść się po mojej instancji pod adresem https://git.gronkiewicz.dev, zapraszam.
Jest tam wyłączona opcja pobierania zipów z repozytoriami ze względu, że jakiś gagatek notorycznie generował pliki i zapychał mi serwer, jednak bez problemu możecie sklonować repozytorium po HTTPS.
U mnie sprowadziło się to dosłownie kilku linijek pliku yaml, w którym zdefiniowałem serwis oraz jak ma się dogadać z reverse proxy.
services: forgejo: image: codeberg.org/forgejo/forgejo:1.21-rootless volumes: - ./data:/data - ./gitea:/etc/gitea labels: traefik.http.routers.forgejo.rule: Host(`git.gronkiewicz.dev`) traefik.http.routers.forgejo.tls: true traefik.http.routers.forgejo.tls.certresolver: letsencrypt traefik.http.services.forgejo.loadbalancer.server.port: 3000 networks: - default - traefik ports: - 22:2222 depends_on: - db restart: always db: image: postgres:14-alpine volumes: - ./db:/var/lib/postgresql/data environment: POSTGRES_PASSWORD: SOME_LONG_PASSWORD POSTGRES_USER: forgejo POSTGRES_DB: forgejo restart: always networks: traefik: external: true name: traefik_proxy
Nie polecam jednak bezmyślnie kopiować mojej konfiguracji, a najlepiej skonsultować się z dokumentacją Forgejo, aby dobrać najlepsze rozwiązanie dla siebie. Cały proces trwa dosłownie parę minut, a przy pierwszym wejściu na instancję trzeba skonfigurować podstawowe opcje jak baza danych (można też użyć SQLite) czy pierwsze konto, które będzie kontem admina.
=> Dokumentacja Forgejo dotycząca instalacji z użyciem Dockera
Zachęcam was bardzo do korzystania z alternatyw do wielkich, korporacyjnych miejsc z kodem, bo problemy z nimi mogą dotknąć każdego, co pokazują przykłady youtube-dl czy Suyu, a poza nimi wiele projektów, o których teraz nawet nie pamiętam. Pomijam już nawet fakt nadużyć DMCA-takedown przez firmy, na zasadzie „niby jest to dozwolone, ale nam trochę szkodzi, to pozbędziemy się ich”.
=> wątek na HackerNews dotyczący DMCA-takedown youtube-dl | Wpis na The Verge o zdjęciu projektu Suyu z GitLaba This content has been proxied by September (ba2dc).Proxy Information
text/gemini