# Copy to .env and adjust. .env is git-ignored; this file is not. # Every value here has a default in compose.yaml, so a fresh clone runs # with no .env at all. # ─── Identity ─────────────────────────────────────────────────────── # Become USER_UID / USER_GID in the container, which is how Gitea's `git` # user is made to match the owner of the bind-mounted data directory. # Wrong values mean Gitea cannot write its own data. # # id -u ; id -g # #PUID=1000 #PGID=1000 # ─── Paths ────────────────────────────────────────────────────────── # Repositories, the SQLite database and conf/app.ini. This is the whole # backup -- nothing in it regenerates. #DATA_PATH=./data # ─── Ports ────────────────────────────────────────────────────────── #PORT=3000 # Host port for SSH clone; the container always listens on 22. Port 22 on # the host belongs to the host's own sshd, which is why this isn't 22. # # If you change it, also uncomment GITEA__server__SSH_PORT in compose.yaml # so the clone URLs Gitea advertises match -- otherwise it hands out # port 22 and clients land on the host's sshd instead. #SSH_PORT=222 # ─── Timezone ─────────────────────────────────────────────────────── # There is no TZ variable here on purpose: compose.yaml mounts the host's # /etc/timezone and /etc/localtime read-only, so the container follows the # host automatically.