mirror of
https://git.cloudron.io/cloudron/gitea-app
synced 2025-09-25 06:27:57 +00:00
Compare commits
11 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
c9ba138d8a | ||
|
7337ff8517 | ||
|
94f2007015 | ||
|
1110ee23e2 | ||
|
ccaa24df33 | ||
|
9c4f201845 | ||
|
2f0edb0cb4 | ||
|
217b6ad97d | ||
|
cb0adb4d95 | ||
|
574bb07847 | ||
|
d259e03bee |
18
CHANGELOG.md
18
CHANGELOG.md
@@ -1728,3 +1728,21 @@
|
||||
* Fix mCaptcha bug (#33659) (#33661)
|
||||
* Git graph: don't show detached commits (#33645) (#33650)
|
||||
|
||||
[1.35.0]
|
||||
* Base image 5
|
||||
|
||||
[1.35.1]
|
||||
* Fix hard coded mysql hostname
|
||||
|
||||
[1.35.2]
|
||||
* Update gitea to 1.23.6
|
||||
* [Full Changelog](https://github.com/go-gitea/gitea/releases/tag/v1.23.6)
|
||||
* Fix LFS URL (#33840) (#33843)
|
||||
* Update jwt and redis packages (#33984) (#33987)
|
||||
* Update golang crypto and net (#33989)
|
||||
* Drop timeout for requests made to the internal hook api (#33947) (#33970)
|
||||
* Fix maven panic when no package exists (#33888) (#33889)
|
||||
* Fix markdown render (#33870) (#33875)
|
||||
* Fix auto concurrency cancellation skips commit status updates (#33764) (#33849)
|
||||
* Fix oauth2 auth (#33961) (#33962)
|
||||
|
||||
|
@@ -4,8 +4,8 @@
|
||||
"author": "Gitea developers",
|
||||
"description": "file://DESCRIPTION.md",
|
||||
"tagline": "A painless self-hosted Git Service",
|
||||
"version": "1.34.4",
|
||||
"upstreamVersion": "1.23.5",
|
||||
"version": "1.35.2",
|
||||
"upstreamVersion": "1.23.6",
|
||||
"healthCheckPath": "/explore",
|
||||
"httpPort": 3000,
|
||||
"memoryLimit": 536870912,
|
||||
|
21
Dockerfile
21
Dockerfile
@@ -1,28 +1,27 @@
|
||||
FROM cloudron/base:4.2.0@sha256:46da2fffb36353ef714f97ae8e962bd2c212ca091108d768ba473078319a47f4
|
||||
FROM cloudron/base:5.0.0@sha256:04fd70dbd8ad6149c19de39e35718e024417c3e01dc9c6637eaf4a41ec4e596c
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y openssh-server git asciidoctor pandoc && \
|
||||
apt-get install -y openssh-server git asciidoctor pandoc pipx && \
|
||||
rm -rf /etc/ssh_host_* && \
|
||||
rm -r /var/cache/apt /var/lib/apt/lists
|
||||
RUN pip3 install jupyter
|
||||
|
||||
# pipx --global does not work, not sure why
|
||||
RUN PIPX_HOME=/opt/pipx PIPX_BIN_DIR=/usr/local/bin pipx install jupyter docutils --include-deps
|
||||
|
||||
ADD supervisor/ /etc/supervisor/conf.d/
|
||||
|
||||
RUN adduser --disabled-login --gecos 'Gitea' git
|
||||
# by default, git account is created as inactive which prevents login via openssh
|
||||
# https://github.com/gitlabhq/gitlabhq/issues/5304
|
||||
RUN passwd -d git
|
||||
|
||||
RUN mkdir -p /home/git/gitea
|
||||
RUN useradd --comment "Gogs" --create-home --shell /bin/bash git
|
||||
RUN passwd -d git # by default, git account is created as inactive which prevents login via openssh. this disables password for account
|
||||
WORKDIR /home/git
|
||||
|
||||
# for autosign feature
|
||||
ENV GNUPGHOME="/app/data/gnupg"
|
||||
|
||||
# renovate: datasource=github-releases depName=go-gitea/gitea versioning=semver extractVersion=^v(?<version>.+)$
|
||||
ARG GITEA_VERSION=1.23.5
|
||||
ARG GITEA_VERSION=1.23.6
|
||||
|
||||
RUN curl -L https://dl.gitea.io/gitea/${GITEA_VERSION}/gitea-${GITEA_VERSION}-linux-amd64 -o /home/git/gitea/gitea \
|
||||
RUN mkdir -p /home/git/gitea && \
|
||||
curl -L https://github.com/go-gitea/gitea/releases/download/v${GITEA_VERSION}/gitea-${GITEA_VERSION}-linux-amd64 -o /home/git/gitea/gitea \
|
||||
&& chmod +x /home/git/gitea/gitea
|
||||
|
||||
# setup config paths
|
||||
|
97
sshd_config
97
sshd_config
@@ -1,80 +1,37 @@
|
||||
# Package generated configuration file
|
||||
# See the sshd_config(5) manpage for details
|
||||
|
||||
# What ports, IPs and protocols we listen for
|
||||
Port 29418
|
||||
# Use these options to restrict which interfaces/protocols sshd will bind to
|
||||
|
||||
AddressFamily any
|
||||
ListenAddress 0.0.0.0
|
||||
ListenAddress ::
|
||||
Protocol 2
|
||||
# HostKeys for protocol version 2
|
||||
|
||||
HostKey /app/data/sshd/ssh_host_rsa_key
|
||||
HostKey /app/data/sshd/ssh_host_dsa_key
|
||||
HostKey /app/data/sshd/ssh_host_ecdsa_key
|
||||
HostKey /app/data/sshd/ssh_host_ed25519_key
|
||||
|
||||
# Logging
|
||||
SyslogFacility AUTH
|
||||
LogLevel INFO
|
||||
|
||||
# Authentication:
|
||||
LoginGraceTime 120
|
||||
PermitRootLogin prohibit-password
|
||||
StrictModes yes
|
||||
|
||||
PubkeyAuthentication yes
|
||||
#AuthorizedKeysFile %h/.ssh/authorized_keys
|
||||
|
||||
# Don't read the user's ~/.rhosts and ~/.shosts files
|
||||
IgnoreRhosts yes
|
||||
# similar for protocol version 2
|
||||
HostbasedAuthentication no
|
||||
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
|
||||
#IgnoreUserKnownHosts yes
|
||||
|
||||
# To enable empty passwords, change to yes (NOT RECOMMENDED)
|
||||
PermitEmptyPasswords no
|
||||
|
||||
# Change to yes to enable challenge-response passwords (beware issues with
|
||||
# some PAM modules and threads)
|
||||
ChallengeResponseAuthentication no
|
||||
|
||||
# Change to no to disable tunnelled clear text passwords
|
||||
#PasswordAuthentication yes
|
||||
|
||||
# Kerberos options
|
||||
#KerberosAuthentication no
|
||||
#KerberosGetAFSToken no
|
||||
#KerberosOrLocalPasswd yes
|
||||
#KerberosTicketCleanup yes
|
||||
|
||||
# GSSAPI options
|
||||
#GSSAPIAuthentication no
|
||||
#GSSAPICleanupCredentials yes
|
||||
|
||||
X11Forwarding yes
|
||||
X11DisplayOffset 10
|
||||
PrintMotd no
|
||||
PrintLastLog yes
|
||||
TCPKeepAlive yes
|
||||
#UseLogin no
|
||||
|
||||
#MaxStartups 10:30:60
|
||||
#Banner /etc/issue.net
|
||||
|
||||
# Allow client to pass locale environment variables
|
||||
AcceptEnv LANG LC_*
|
||||
|
||||
Subsystem sftp /usr/lib/openssh/sftp-server
|
||||
|
||||
# Set this to 'yes' to enable PAM authentication, account processing,
|
||||
# and session processing. If this is enabled, PAM authentication will
|
||||
# be allowed through the ChallengeResponseAuthentication and
|
||||
# PasswordAuthentication. Depending on your PAM configuration,
|
||||
# PAM authentication via ChallengeResponseAuthentication may bypass
|
||||
# the setting of "PermitRootLogin without-password".
|
||||
# If you just want the PAM account and session checks to run without
|
||||
# PAM authentication, then enable this but set PasswordAuthentication
|
||||
# and ChallengeResponseAuthentication to 'no'.
|
||||
UsePAM no
|
||||
# no reverse DNS lookup
|
||||
UseDNS no
|
||||
UsePAM no
|
||||
AllowAgentForwarding no
|
||||
AllowTcpForwarding no
|
||||
PrintMotd no
|
||||
PrintLastLog no
|
||||
|
||||
LoginGraceTime 120
|
||||
StrictModes yes
|
||||
PubkeyAuthentication yes
|
||||
PermitUserEnvironment yes
|
||||
PermitRootLogin no
|
||||
ChallengeResponseAuthentication no
|
||||
PasswordAuthentication no
|
||||
PermitEmptyPasswords no
|
||||
HostbasedAuthentication no
|
||||
|
||||
AllowUsers git
|
||||
|
||||
Banner none
|
||||
Subsystem sftp /usr/lib/ssh/sftp-server
|
||||
|
||||
AcceptEnv GIT_PROTOCOL LANG LC_*
|
||||
|
||||
|
4
start.sh
4
start.sh
@@ -11,7 +11,7 @@ setup_oidc_source() {
|
||||
echo "==> Setup OIDC source"
|
||||
|
||||
now=$(date +%s)
|
||||
mysql -u"${CLOUDRON_MYSQL_USERNAME}" -p"${CLOUDRON_MYSQL_PASSWORD}" -h mysql --database="${CLOUDRON_MYSQL_DATABASE}" -e \
|
||||
mysql -u"${CLOUDRON_MYSQL_USERNAME}" -p"${CLOUDRON_MYSQL_PASSWORD}" -h"${CLOUDRON_MYSQL_HOST}" -P"${CLOUDRON_MYSQL_PORT}" --database="${CLOUDRON_MYSQL_DATABASE}" -e \
|
||||
"REPLACE INTO login_source (id, type, name, is_active, cfg, created_unix, updated_unix) VALUES (1,6,'cloudron', 1,'{\"Provider\":\"openidConnect\",\"ClientID\":\"${CLOUDRON_OIDC_CLIENT_ID}\",\"ClientSecret\":\"${CLOUDRON_OIDC_CLIENT_SECRET}\",\"OpenIDConnectAutoDiscoveryURL\":\"${CLOUDRON_OIDC_ISSUER}/.well-known/openid-configuration\",\"CustomURLMapping\":null,\"IconURL\":\"\",\"Scopes\":[\"openid email profile\"],\"RequiredClaimName\":\"\",\"RequiredClaimValue\":\"\",\"GroupClaimName\":\"\",\"AdminGroup\":\"\",\"GroupTeamMap\":\"\",\"GroupTeamMapRemoval\":false,\"RestrictedGroup\":\"\"}','${now}','${now}')"
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ setup_auth() {
|
||||
setup_oidc_source
|
||||
fi
|
||||
|
||||
user_count=$(mysql -u"${CLOUDRON_MYSQL_USERNAME}" -p"${CLOUDRON_MYSQL_PASSWORD}" -h mysql --database="${CLOUDRON_MYSQL_DATABASE}" -N -B -e "SELECT count(*) FROM user")
|
||||
user_count=$(mysql -u"${CLOUDRON_MYSQL_USERNAME}" -p"${CLOUDRON_MYSQL_PASSWORD}" -h"${CLOUDRON_MYSQL_HOST}" -P"${CLOUDRON_MYSQL_PORT}" --database="${CLOUDRON_MYSQL_DATABASE}" -N -B -e "SELECT count(*) FROM user")
|
||||
# be careful, not to create root user for existing LDAP based installs
|
||||
if [[ "${user_count}" == "0" ]]; then
|
||||
echo "==> Setting up root user for first run"
|
||||
|
42
test/package-lock.json
generated
42
test/package-lock.json
generated
@@ -9,11 +9,11 @@
|
||||
"version": "1.0.0",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"chromedriver": "^133.0.3",
|
||||
"chromedriver": "^134.0.5",
|
||||
"expect.js": "^0.3.1",
|
||||
"mocha": "^11.1.0",
|
||||
"selenium-webdriver": "^4.29.0",
|
||||
"superagent": "^10.1.1"
|
||||
"selenium-webdriver": "^4.30.0",
|
||||
"superagent": "^10.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@bazel/runfiles": {
|
||||
@@ -380,9 +380,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/chromedriver": {
|
||||
"version": "133.0.3",
|
||||
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-133.0.3.tgz",
|
||||
"integrity": "sha512-wGZUtrSdyqnbweXEDIbn+ndu7memG4SEqG6/D+mSabKUEic0hveMYepAPAhlYtvyOc0X8JbsARYtEalVD3R/Vg==",
|
||||
"version": "134.0.5",
|
||||
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-134.0.5.tgz",
|
||||
"integrity": "sha512-edXbiuShAvH6Elx8Hobl4NQkgNRMIozcW7ZlEiE8TBynZHRazrepO9hfftQzZgztPvjMQiSWeWjZaDV3SecYaw==",
|
||||
"hasInstallScript": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
@@ -1654,9 +1654,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/selenium-webdriver": {
|
||||
"version": "4.29.0",
|
||||
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.29.0.tgz",
|
||||
"integrity": "sha512-8XPGtDoji5xk7ZUCzFT1rqHmCp67DCzESsttId7DzmrJmlTRmRLF6X918rbwclcH89amcBNM4zB3lVPj404I0g==",
|
||||
"version": "4.30.0",
|
||||
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.30.0.tgz",
|
||||
"integrity": "sha512-3DGtQI/xyAg05SrqzzpFaXRWYL+Kku3fsikCoBaxApKzhBMUX5UiHdPb2je2qKMf2PjJiEFaj0L5xELHYRbYMA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
@@ -1883,9 +1883,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/superagent": {
|
||||
"version": "10.1.1",
|
||||
"resolved": "https://registry.npmjs.org/superagent/-/superagent-10.1.1.tgz",
|
||||
"integrity": "sha512-9pIwrHrOj3uAnqg9gDlW7EA2xv+N5au/dSM0kM22HTqmUu8jBxNT+8uA7tA3UoCnmiqzpSbu8rasIUZvbyamMQ==",
|
||||
"version": "10.2.0",
|
||||
"resolved": "https://registry.npmjs.org/superagent/-/superagent-10.2.0.tgz",
|
||||
"integrity": "sha512-IKeoGox6oG9zyDeizaezkJ2/aK0wc5la9st7WsAKyrAkfJ56W3whVbVtF68k6wuc87/y9T85NyON5FLz7Mrzzw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"component-emitter": "^1.3.0",
|
||||
@@ -2385,9 +2385,9 @@
|
||||
}
|
||||
},
|
||||
"chromedriver": {
|
||||
"version": "133.0.3",
|
||||
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-133.0.3.tgz",
|
||||
"integrity": "sha512-wGZUtrSdyqnbweXEDIbn+ndu7memG4SEqG6/D+mSabKUEic0hveMYepAPAhlYtvyOc0X8JbsARYtEalVD3R/Vg==",
|
||||
"version": "134.0.5",
|
||||
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-134.0.5.tgz",
|
||||
"integrity": "sha512-edXbiuShAvH6Elx8Hobl4NQkgNRMIozcW7ZlEiE8TBynZHRazrepO9hfftQzZgztPvjMQiSWeWjZaDV3SecYaw==",
|
||||
"requires": {
|
||||
"@testim/chrome-version": "^1.1.4",
|
||||
"axios": "^1.7.4",
|
||||
@@ -3269,9 +3269,9 @@
|
||||
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
|
||||
},
|
||||
"selenium-webdriver": {
|
||||
"version": "4.29.0",
|
||||
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.29.0.tgz",
|
||||
"integrity": "sha512-8XPGtDoji5xk7ZUCzFT1rqHmCp67DCzESsttId7DzmrJmlTRmRLF6X918rbwclcH89amcBNM4zB3lVPj404I0g==",
|
||||
"version": "4.30.0",
|
||||
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.30.0.tgz",
|
||||
"integrity": "sha512-3DGtQI/xyAg05SrqzzpFaXRWYL+Kku3fsikCoBaxApKzhBMUX5UiHdPb2je2qKMf2PjJiEFaj0L5xELHYRbYMA==",
|
||||
"requires": {
|
||||
"@bazel/runfiles": "^6.3.1",
|
||||
"jszip": "^3.10.1",
|
||||
@@ -3426,9 +3426,9 @@
|
||||
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
|
||||
},
|
||||
"superagent": {
|
||||
"version": "10.1.1",
|
||||
"resolved": "https://registry.npmjs.org/superagent/-/superagent-10.1.1.tgz",
|
||||
"integrity": "sha512-9pIwrHrOj3uAnqg9gDlW7EA2xv+N5au/dSM0kM22HTqmUu8jBxNT+8uA7tA3UoCnmiqzpSbu8rasIUZvbyamMQ==",
|
||||
"version": "10.2.0",
|
||||
"resolved": "https://registry.npmjs.org/superagent/-/superagent-10.2.0.tgz",
|
||||
"integrity": "sha512-IKeoGox6oG9zyDeizaezkJ2/aK0wc5la9st7WsAKyrAkfJ56W3whVbVtF68k6wuc87/y9T85NyON5FLz7Mrzzw==",
|
||||
"requires": {
|
||||
"component-emitter": "^1.3.0",
|
||||
"cookiejar": "^2.1.4",
|
||||
|
@@ -9,10 +9,10 @@
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"chromedriver": "^133.0.3",
|
||||
"chromedriver": "^134.0.5",
|
||||
"expect.js": "^0.3.1",
|
||||
"mocha": "^11.1.0",
|
||||
"selenium-webdriver": "^4.29.0",
|
||||
"superagent": "^10.1.1"
|
||||
"selenium-webdriver": "^4.30.0",
|
||||
"superagent": "^10.2.0"
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user