commit e0d4f1944108349bc38a5d491e6911601f44ebac Author: kbrianngeno Date: Fri Mar 13 15:53:45 2026 +0000 first commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c0e6545 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.env +/data +/gitea-data +/runner-data \ No newline at end of file diff --git a/app.ini b/app.ini new file mode 100644 index 0000000..96943b6 --- /dev/null +++ b/app.ini @@ -0,0 +1,108 @@ +APP_NAME = Gitea: Git with a cup of tea +RUN_MODE = prod +RUN_USER = git +WORK_PATH = /data/gitea + +[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 = gitea.novicelab.io +SSH_DOMAIN = gitea.novicelab.io +HTTP_PORT = 3000 +ROOT_URL = https://gitea.novicelab.io/ +DISABLE_SSH = false +SSH_PORT = 22 +SSH_LISTEN_PORT = 22 +LFS_START_SERVER = true +STATIC_ROOT_PATH = ./ +STATIC_URL_PREFIX = https://gitea.novicelab.io +LFS_JWT_SECRET = bCAl68YRpPgCAYHaEH8bExe-EDK0IxGndjg-R82tTRM +OFFLINE_MODE = true + +[database] +PATH = /data/gitea/gitea.db +DB_TYPE = postgres +HOST = 10.0.0.250:5200 +NAME = gitea +USER = pg-admin +PASSWD = vBiHmSYv +LOG_SQL = false +SCHEMA = +SSL_MODE = disable + +[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 +ROOT_PATH = /data/gitea/log + +[security] +INSTALL_LOCK = true +SECRET_KEY = +REVERSE_PROXY_LIMIT = 1 +REVERSE_PROXY_TRUSTED_PROXIES = * +INTERNAL_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE3NzIzNTQwMTJ9._BmOVIzs5U6GOM0Bf5gRjMH4XHBDEgj1U6FzlhHRDss +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.gitea.novicelab.io + +[lfs] +PATH = /data/git/lfs + +[mailer] +ENABLED = true +SMTP_ADDR = smtp.gmail.com +SMTP_PORT = 587 +FROM = admin@novicelab.io +USER = kbrianngeno@gmail.com +PASSWD = cyvf witr tfcd jend + +[openid] +ENABLE_OPENID_SIGNIN = true +ENABLE_OPENID_SIGNUP = true + +[cron.update_checker] +ENABLED = false + +[repository.pull-request] +DEFAULT_MERGE_STYLE = merge + +[repository.signing] +DEFAULT_TRUST_MODEL = committer + +[oauth2] +JWT_SECRET = bZitfQGxJ9nYHe5fgyjYqf24fwL9JAN0GUZ_ru0Rf8s + +[actions] +ENABLED = true diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..e63d29d --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,74 @@ +networks: + nginx: + driver: bridge + external: true + +volumes: + gitea: + driver: local + +services: + gitea: + image: docker.gitea.com/gitea:1.24.5 + container_name: gitea + environment: + USER_UID: 1000 + USER_GID: 1000 + + GITEA__database__DB_TYPE: ${GITEA__database__DB_TYPE} + GITEA__database__HOST: ${GITEA__database__HOST} + GITEA__database__NAME: ${GITEA__database__NAME} + GITEA__database__USER: ${GITEA__database__USER} + GITEA__database__PASSWD: ${GITEA__database__PASSWD} + + GITEA__server__DOMAIN: ${GITEA__server__DOMAIN} + GITEA__server__ROOT_URL: ${GITEA__server__ROOT_URL} + + GITEA__server__STATIC_URL_PREFIX: ${GITEA__server__STATIC_URL_PREFIX} + GITEA__server__STATIC_ROOT_PATH: ${GITEA__server__STATIC_ROOT_PATH} + # GITEA_RUNNER_REGISTRATION_TOKEN can be used to set a global runner registration token. + # The Gitea version must be v1.23 or higher. + # It's also possible to use GITEA_RUNNER_REGISTRATION_TOKEN_FILE to pass the location. + GITEA_RUNNER_REGISTRATION_TOKEN: ${GITEA_RUNNER_REGISTRATION_TOKEN} + restart: always + networks: + - nginx + volumes: + # - gitea:/data + - ./data:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + - ./app.ini:/data/gitea/conf/app.ini + ports: + - "3000:3000" + - "222:22" + healthcheck: + # checks availability of Gitea's front-end with curl + test: ["CMD", "curl", "-f", "https://gitea.novicelab.io"] + interval: 10s + retries: 3 + start_period: 30s + timeout: 10s + + # runner: + # image: gitea/act_runner + # container_name: gitea-runner + # restart: always + # depends_on: + # gitea: + # # required so runner can attach to gitea, see "healthcheck" + # condition: service_healthy + # restart: true + # volumes: + # - ./runner-data/act_runner:/data + # - /var/run/docker.sock:/var/run/docker.sock + # environment: + # GITEA_INSTANCE_URL: "https://gitea.novicelab.io" + # # When using Docker Secrets, it's also possible to use + # # GITEA_RUNNER_REGISTRATION_TOKEN_FILE to pass the location. + # # The env var takes precedence. + # # Needed only for the first start. + # GITEA_RUNNER_REGISTRATION_TOKEN: ${GITEA_RUNNER_REGISTRATION_TOKEN} + # networks: + # - nginx + \ No newline at end of file