Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Support] Gitea

Featured Replies

Up to date

I have a unadopted repo on the filesystem

I am using the UI, logged in as administrator to adopt the repo.

I find the repository in the unadopted list, click add files, and I get a 500 error.

The issue is a permissions issue according to the log:  (yes part of the path is missing because I cut it). 

Help?

image.thumb.png.0d201146ff23b08b6e8cec8a6843856a.png

  • Replies 94
  • Views 49.8k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Nathan Chambers
    Nathan Chambers

    I had the same problem with the downgrade on the database. This is how I solved it.   1. make a backup of the file in your appdata/gitea/gitea.db 2. copy the file appdata/gitea/gitea.db

  • In case anyone runs into the same issue, here's how to fix it:   Stop the Gitea container and change into the following folder: appdata/gitea/data/gitea/conf   Edit the app.ini fi

  • Hi, Thanks for your great work! But there is a problem that the tag :latest will install the current development version. For a stable release you can use :1 or specify a certain release lik

Posted Images

Check what the filesystem permissions of other repos are and make the unadopted files match?

Occams Razor...  Thank you for making me look in the right place. 

  • 3 weeks later...

Hi, I'm new to using Gitea.  I installed the app on my Unraid server but the keeps crashing.  It seems to be trying to connect to a Postgres database.  I didn't find any additional steps for setting this up.  Can some one point me in the right direction?
 

Screenshot 2024-05-16 at 4.22.58 PM.png

  • 1 month later...

Edit:

I got it worked out:

Looks like the v1.22 update is what did it with a number of changes.

 

https://old.reddit.com/r/selfhosted/comments/1d2g4bh/gitea_1220_is_released_gitea_blog/

 

---

 

Hey there, for some reason, suddenly all of the themes are missing, and I was unable to start the container. The first thing I saw in the log when I saw it was stopped was:

 

Gitea can't run with template errors: template error: custom:custom/body_outer_pre:5 : function DefaultTheme not defined

 

I don't recall having ever added that, but it's possible I did when I first set this up. I removed it to see if it would help, and it did. I was able to get the container started, but when attempting to create a repo or anything, I am seeing the following message:

 

No theme candidate in asset files, but Gitea requires there should be at least one usable theme

 

After a bit of searching, it looks like themes go in a folder named public, but that does not seem to exist, nor do I see themes anywhere else. I am assuming they were there before, but I have not touched/changed anything in several months, so I am not quite sure where it would have went or what might have happened. I am guessing it must be something with an application update, but I am not seeing anyone else having this issue anywhere, or anything on the gitea github issues being posted with any of the search terms I tried that were related. So I am not quite sure what to try next. 

 

I figured it best to bring this here, in case there is something going on related to the unraid version only. If anyone has any ideas, I would appreciate it.

Edited by MostHated

  • 6 months later...

Please advise. gitea stopped working, it was ok for several months and at some point it lost a connection to database.

Снимок экрана 2025-01-16 192156.png

log.txt

7 hours ago, DarkP said:

Please advise. gitea stopped working, it was ok for several months and at some point it lost a connection to database.

Can't connect to the db, so check the DB container. 

  • 1 month later...

Resolved:

Changed

LOCAL_ROOT_URL = http://192.168.1.101:3001/

to

LOCAL_ROOT_URL = http://localhost:3001/


----

Hi I have a couple of problems

1. (Minor) I can't access the service locally, only remotely.
2. (Major) I can create repositories but can't push to the repositories, whether it be via a git client or via 'new file' on the repository pages themselves.

gitea.log
 

error: failed to push some refs to '/data/git/repositories/admin/test.git'
 - remote: 
remote: Gitea: Internal Server Connection Error        
To /data/git/repositories/admin/test.git
 ! [remote rejected] 007f9f88*********52da694e9 -> main (pre-receive hook declined)
error: failed to push some refs to '/data/git/repositories/admin/test.git'
2025/02/18 10:56:57 ...tory/files/update.go:256:ChangeRepoFiles() [E] *git.ErrPushRejected PushRejected Error: exit status 1 - remote: 
remote: Gitea: Internal Server Connection Error        
To /data/git/repositories/admin/test.git
 ! [remote rejected] 007f9f88*********52da694e9 -> main (pre-receive hook declined)



conf/app.ini

 

...
[server]
PROTOCOL= http
APP_DATA_PATH = /data/gitea
DOMAIN = gitea.***.com
#SSH_DOMAIN = 192.168.1.101
HTTP_PORT = 3001
HTTP_ADDR = 0.0.0.0
LOCAL_ROOT_URL = http://192.168.1.101:3001/
ROOT_URL = https://gitea.***.com/
DISABLE_SSH = true
#SSH_PORT = 8022
#SSH_LISTEN_PORT = 8022
LFS_START_SERVER = true
LFS_JWT_SECRET = z-c_q5H8***86I
OFFLINE_MODE = true
...



container settings (omitted mysql connector entries)
 

"22/tcp": [{
"HostIp": "0.0.0.0",
"HostPort": "8022"
},
{
"HostIp": "::",
"HostPort": "8022"
}],
"3000/tcp": [{
"HostIp": "0.0.0.0",
"HostPort": "3001"
},
{
"HostIp": "::",
"HostPort": "3001"
}]
...
"traefik.enable": "true",
"traefik.http.routers.gitea.entryPoints": "https",
"traefik.http.routers.gitea.tls.certresolver": "letsencrypt",
"traefik.http.services.gitea.loadbalancer.server.port": "3001"



edit, full error with "RUN_MODE = dev"

 

Gitea: Internal Server Connection Error
Gitea: HookPreReceive(last) failed: unable to contact gitea "POST http://192.168.1.101:3001/api/internal/hook/pre-receive/admin/test2": Post "http://192.168.1.101:3001/api/internal/hook/pre-receive/admin/test2": read tcp 172.19.0.31:55218->192.168.1.101:3001: read: connection reset by peer

 

Edited by fellow22

  • 5 months later...

I am configuring Gitea on a new unraid server. Everything I have reviewed regarding containers recommends using faster storage/different drives for container data apart from the array except for explicitly labeled directories(e.g. /media for plex). My concern is I would like my git repositories to be on array storage, as I see the contents as long term. For Gitea's functionality, would fuse across cache to array be reasonable for the speed required? Has this been found to be a reasonable practice for Gitea?

Thanks for the clarification.

Repos are usually small, about 1.3GB in my case so to me it all lives in appdata and thus gets a daily backup like all the other important appdata.

Speed probably wouldn't be a factor because same, small stuff anyway.

Edited by Kilrah

@Kilrah Thank you for the feedback. I had considered the daily backup option also . If I knew I was using it purely for code, that would be one thing. I'm considering it as a record of webpage development among other things - so the insertion of graphics and other elements are possible. While I don't consider the size to escalate too drastically, I don't want to underestimate either.

I've been reviewing the configuration. Perhaps it would be nice to be able to designate gitea lfs to a share as this is for the "larger" files. As data seems be the directory that is able to be defined by the container manager, I am uncertain if lfs can be redirected to another share.

I mean as long as all lfs stuff goes to a dedicated path you can add a mapping to it to whatever you want.

I thought containers didn't know about shares except what was defined through the container configuration. I'm a bit of a newbie.. so if I'm misunderstanding, please explain. Thanks.

They don't, they precisely only know about what you pass them in container configuration, so if you want something to be in a share you pass that location and the container will have no idea it's on one.

  • 6 months later...

Has anyone been able to get this running?
I had to add GITEA__server__DISABLE_SSH=TRUE otherwise the container wouldn't start:

2026/02/28 14:17:46 modules/ssh/init.go:27:Init() [I] SSH server started on ":22". Ciphers: default, key exchange algorithms: default, MACs: default
2026/02/28 14:17:46 modules/graceful/server.go:50:NewServer() [I] Starting new SSH server: tcp::22 on PID: 17
2026/02/28 14:17:46 .../indexer/issues/indexer.go:155:InitIssueIndexer.2() [I] Issue Indexer Initialization took 3.019065ms
2026/02/28 14:17:46 modules/graceful/server.go:76:(*Server).ListenAndServe() [E] Unable to GetListener: listen tcp :22: bind: address already in use
2026/02/28 14:17:46 modules/ssh/ssh_graceful.go:25:listen() [F] Failed to start SSH server: listen tcp :22: bind: address already in use
Received signal 15; terminating.

However, I still can't connect to the web interface on :3000.

From the console, I see this:

/ # ps -ef | grep git
   15 root      0:00 s6-supervise gitea
   17 git       0:01 /usr/local/bin/gitea web
  132 root      0:00 grep git

/ # netstat -nap | grep LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      18/sshd -D -e [list
tcp        0      0 :::22                   :::*                    LISTEN      18/sshd -D -e [list
tcp        0      0 :::3002                 :::*                    LISTEN      -


This is the docker run:


docker run
  -d
  --name='Gitea'
  --net='bridge'
  --pids-limit 2048
  -e TZ="America/Chicago"
  -e HOST_OS="Unraid"
  -e HOST_HOSTNAME="nas"
  -e HOST_CONTAINERNAME="Gitea"
  -e 'GITEA__server__START_SSH_SERVER'='TRUE'
  -e 'GITEA__server__DISABLE_SSH'='TRUE'
  -l net.unraid.docker.managed=dockerman
  -l net.unraid.docker.webui='http://[IP]:[PORT:3000]'
  -l net.unraid.docker.icon='https://raw.githubusercontent.com/fanningert/unraid-docker-templates/master/fanningert/icons/gitea.png'
  -p '2222:22/tcp'
  -p '3002:3000/tcp'
  -v '/mnt/user/appdata/gitea':'/data':'rw' 'gitea/gitea'
1 hour ago, ajscam said:
  -e 'GITEA__server__START_SSH_SERVER'='TRUE'
  -e 'GITEA__server__DISABLE_SSH'='TRUE'

You're telling it to both start and disable ssh?

If you want to prevent it from conflicting it you don't really need either, but need to remove the port map for port 22 from the template.

1 hour ago, ajscam said:
-p '2222:22/tcp'

As long as this is there it'll conflict with unraid's ssh service if it's enabled.

Edited by Kilrah

Port 22 is already in use by my Unraid server, so to deploy Gitea when port 22 is already in use, I must configure Gitea to use a different SSH port (e.g., 2222) and ensure the built-in SSH server is enabled using container Variable: GITEA__server__START_SSH_SERVERT=TRUE.

When I do this, the container won't start becuase:
2026/02/28 14:17:46 modules/ssh/ssh_graceful.go:25:listen() [F] Failed to start SSH server: listen tcp :22: bind: address already in use

So I added 'GITEA__server__DISABLE_SSH'='TRUE'. Now the container starts.

I need to keep unraid listening on port 22.
I thought -p '2222:22/tcp' would map unraid port 2222 -> gitea port 22

Should I set the gitea container to Host networking to work around this issue?

9 hours ago, ajscam said:

I thought -p '2222:22/tcp' would map unraid port 2222 -> gitea port 22

It does (and I didn't read correctly), but then you wouldn't have the error that 22 is already in use...

9 hours ago, ajscam said:

Should I set the gitea container to Host networking to work around this issue?

The opposite, on Host network you cannot remap ports.

Edited by Kilrah

In case anyone finds their way here:

Change the Repository to gitea/gitea:latest-rootless

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.