diff --git a/apps/forgejo/config.json b/apps/forgejo/config.json new file mode 100644 index 00000000..40711b53 --- /dev/null +++ b/apps/forgejo/config.json @@ -0,0 +1,18 @@ +{ + "$schema": "../schema.json", + "name": "Forgejo", + "port": 8195, + "available": true, + "exposable": true, + "id": "forgejo", + "tipi_version": 7, + "version": "1.19.3-0", + "categories": [ + "development" + ], + "description": "Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job.", + "short_desc": "Beyond coding. We forge. · Lightweight and performant · Guaranteed 100% Free Software", + "author": "forgejo", + "source": "https://codeberg.org/forgejo/forgejo/", + "form_fields": [] +} \ No newline at end of file diff --git a/apps/forgejo/data/forgejo/gitea/conf/app.ini b/apps/forgejo/data/forgejo/gitea/conf/app.ini new file mode 100644 index 00000000..48e6686c --- /dev/null +++ b/apps/forgejo/data/forgejo/gitea/conf/app.ini @@ -0,0 +1,88 @@ +APP_NAME = Forgejo Beyond coding. We forge. +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/git +DOMAIN = localhost +SSH_DOMAIN = localhost +HTTP_PORT = 3000 +ROOT_URL = http://localhost:8108/ +DISABLE_SSH = false +SSH_PORT = 22 +SSH_LISTEN_PORT = 22 +LFS_START_SERVER = true +LFS_CONTENT_PATH = /data/git/lfs +LFS_JWT_SECRET = wo2G20l0nGsspUp8xsLNSNF7H8U-GQUVth5gj_q5cDk +OFFLINE_MODE = false + +[database] +PATH = /data/gitea/gitea.db +DB_TYPE = postgres +HOST = forgejo-db:5432 +NAME = forgejo +USER = forgejo +PASSWD = forgejo +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 +DISABLE_GRAVATAR = false +ENABLE_FEDERATED_AVATAR = true + +[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 = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE2NTMyODU5ODh9.l7fPuVA8LSHZvdBum8YDrH47RZjEx_cZLbswO5pMDk8 +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 + +[mailer] +ENABLED = false + +[openid] +ENABLE_OPENID_SIGNIN = true +ENABLE_OPENID_SIGNUP = true + diff --git a/apps/forgejo/docker-compose.yml b/apps/forgejo/docker-compose.yml new file mode 100644 index 00000000..013ee4ff --- /dev/null +++ b/apps/forgejo/docker-compose.yml @@ -0,0 +1,44 @@ +version: "3.7" + +services: + forgejo: + image: codeberg.org/forgejo/forgejo:1.19.3-0 + container_name: forgejo + environment: + - USER_UID=1000 + - USER_GID=1000 + - FORGEJO__database__DB_TYPE=postgres + - FORGEJO__database__HOST=forgejo-db:5432 + - FORGEJO__database__NAME=forgejo + - FORGEJO__database__USER=forgejo + - FORGEJO__database__PASSWD=forgejo + restart: unless-stopped + volumes: + - ${APP_DATA_DIR}/data/forgejo:/data + ports: + - ${APP_PORT}:3000 + - "222:22" + depends_on: + - forgejo-db + networks: + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.forgejo.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.forgejo.entrypoints: websecure + traefik.http.routers.forgejo.service: forgejo + traefik.http.routers.forgejo.tls.certresolver: myresolver + traefik.http.services.forgejo.loadbalancer.server.port: 3000 + + forgejo-db: + container_name: forgejo-db + image: postgres:14 + restart: unless-stopped + environment: + - POSTGRES_USER=forgejo + - POSTGRES_PASSWORD=forgejo + - POSTGRES_DB=forgejo + volumes: + - ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data + networks: + - tipi_main_network diff --git a/apps/forgejo/metadata/description.md b/apps/forgejo/metadata/description.md new file mode 100644 index 00000000..e8555c16 --- /dev/null +++ b/apps/forgejo/metadata/description.md @@ -0,0 +1,6 @@ +# Forgejo Beyond coding. We forge. + +Hi there! Tired of big platforms playing monopoly? Providing Git hosting for your project, friends, company or community? Forgejo (/for'd͡ʒe.jo/ inspired by forĝejo – the Esperanto word for forge) has you covered with its intuitive interface, light and easy hosting and a lot of builtin functionality. + +Forgejo was [created in 2022](https://forgejo.org/2022-12-15-hello-forgejo/) because we think that the project should be owned by an independent community. If you second that, then Forgejo is for you! Our promise: Independent Free/Libre Software forever! + diff --git a/apps/forgejo/metadata/logo.jpg b/apps/forgejo/metadata/logo.jpg new file mode 100644 index 00000000..f871c17e Binary files /dev/null and b/apps/forgejo/metadata/logo.jpg differ