# Create Gitea Server ``` sudo apt-get install git sqlite -y --create git user without login sudo adduser --disabled-login --gecos 'Gitea' git ``` ``` $ wget -O gitea https://dl.gitea.io/gitea/1.10.2/gitea-1.10.2-linux-amd64 $ wget -O gitea https://dl.gitea.io/gitea/1.10.2/gitea-1.10.2-linux-arm-6 $ chmod +x gitea ``` Add git user ``` $ sudo useradd -m git ``` copy gitea to new user folder ``` $ sudo cp gitea /home/git ``` Run gitea command as git user. default port is 3000 !!!! switch/login to git user ``` $ sudo su - git $./gitea web ``` !!!! ********** cleanup ``` $ sudo userdel git $ sudo rm -rf /home/git ``` ************ open browser to `http://192.168.10.113:3000/install` install gitea configuration ## Run Caddy service for x86 ``` $ wget https://github.com/caddyserver/caddy/releases/download/v2.4.6/caddy_2.4.6_linux_amd64.tar.gz -O caddy.tar.gz ``` for arm cpu ``` & wget https://github.com/caddyserver/caddy/releases/download/v2.4.6/caddy_2.4.6_linux_armv7.tar.gz -O caddy.tar.gz ``` ``` $ mkdir caddy && tar -zxvf caddy.tar.gz -C caddy $ cd caddy $ mv caddy_linux_arm7 caddy ``` Create caddy config file named as Caddyfile and add the following content ``` $ sudo nano Caddyfile ``` ```text homenetyth.ddnsking.com { reverse_proxy 127.0.0.1:3000 } ``` ``` $ sudo setcap CAP_NET_BIND_SERVICE=+eip ./caddy ``` install/update acme client ``` $ sudo apt-get install certbot ``` to check acme version install the script ``` $ curl https://get.acme.sh | sh ``` get version ``` $ acme.sh -v ``` !!!! run service ``` $ sudo ./caddy run --config Caddyfile ``` ```text caddy login https://caddyserver.com/ smarttvminix@gmail.com pass : yikth@7572137 ``` Update Gitea config file `custom/conf/app.ini` sample `home/git/gitea/custom/conf/app.ini` ```text [server] SSH_DOMAIN = homenetyth.ddnsking.com DOMAIN = homenetyth.ddnsking.com HTTP_PORT = 3000 ROOT_URL = https://homenetyth.ddnsking.com/ DISABLE_SSH = false SSH_PORT = 29419 [mailer] ENABLED = true HOST = smtp.gmail.com:587 FROM = smarttvminix@gmail.com USER = smarttvminix PASSWD = pkxgsabszatmyxgk ``` ``` $ restart gitea service $ ./gitea web ``` ``` tmux ``` install go compiler ``` $ wget https://dl.google.com/go/go1.13.7.linux-armv6l.tar.gz -O golang.tar.gz $ sudo tar -C /usr/local -xzf golang.tar.gz $ sudo nano $HOME/.profile ``` add text ```text export PATH=$PATH:/usr/local/go/bin ``` ... reboot run go build ``` $ go get github.com/caddyserver/caddy/caddy ``` ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Disable root login and password based login (Optional) For improved security, you may want to disable shell pasword based login if the server is accessible externally Edit the `/etc/ssh/sshd_config` file, enter: ``` $ sudo nano /etc/ssh/sshd_config ``` Set all this settings to no: ```text ChallengeResponseAuthentication no PasswordAuthentication no UsePAM no PermitRootLogin no ``` Save and close the file. Reload the ssh server: ``` $ sudo systemctl reload ssh ``` Create user in Gitea to access Gitea ## Upgrade gitea * stop current gitea running instance * download latest binary ``` # login to pi user $ wget -O gitea https://dl.gitea.io/gitea/1.12.1/gitea-1.12.1-linux-arm-6 $ chmod +x gitea $ sudo cp gitea /home/git ``` * restart gitea service ``` $ sudo su - git $./gitea web ```