fix: make installation portable

This commit is contained in:
Aravinth Manivannan 2023-09-19 00:01:23 +05:30
parent fa10e9185a
commit 6b2da8c83e
Signed by: realaravinth
GPG key ID: F8F50389936984FF
2 changed files with 13 additions and 9 deletions

View file

@ -57,7 +57,7 @@ class Forgejo:
"""
count = 0
parsed = urlparse(host)
url = urlunparse((parsed.scheme, parsed.netloc, "api/v1/nodeinfo", "", "", ""))
url = urlunparse((parsed.scheme, parsed.netloc, "/", "", "", ""))
while True:
try:
@ -75,6 +75,8 @@ class Forgejo:
Install Forgejo, first form that a user sees when a new instance is
deployed
"""
parsed = urlparse(self.host)
# cwd = os.environ.get("PWD")
# user = os.environ.get("USER")
payload = {
@ -91,10 +93,10 @@ class Forgejo:
"repo_root_path": "/data/git/repositories",
"lfs_root_path": "/data/git/lfs",
"run_user": "git",
"domain": "localhost",
"domain": parsed.netloc,
"ssh_port": "22",
"http_port": "3000",
"app_url": "http://localhost:3000/",
"app_url": self.get_uri(""),
"log_root_path": "/data/gitea/log",
"smtp_host": "",
"smtp_from": "",
@ -107,13 +109,13 @@ class Forgejo:
"default_enable_timetracking": "on",
"no_reply_address": "noreply.localhost",
"password_algorithm": "pbkdf2",
"admin_name": "",
"admin_passwd": "",
"admin_confirm_passwd": "",
"admin_email": "",
"admin_name": self.username,
"admin_passwd": self.password,
"admin_confirm_passwd": self.password,
"admin_email": self.email,
}
resp = self.c.post(self.get_uri(""), data=payload)
resp = self.c.post(self.get_uri(""), data=payload, allow_redirects=False)
sleep(10)
def get_csrf_token(self, url: str) -> str:
@ -122,7 +124,7 @@ class Forgejo:
"""
resp = self.c.get(url, allow_redirects=False)
if resp.status_code != 200 and resp.status_code != 302:
print(resp.status_code, resp.text)
print(url, resp.status_code)
raise Exception(f"Can't get csrf token: {resp.status_code}")
parser = ParseCSRF(name=self.__csrf_key)
parser.feed(resp.text)

View file

@ -49,6 +49,8 @@ forgejo_root(){
$FORGEJO_ROOT_USERNAME $FORGEJO_ROOT_PASSOWRD \
$FORGEJO_ROOT_EMAIL \
$FORGEJO_URL
sleep 10
curl $FORGEJO_URL
python -m integration \
forgejo register \
$FORGEJO_ROOT_USERNAME $FORGEJO_ROOT_PASSOWRD \