all:
	echo OK


install-debian: install-dependencies-debian create-user-debian download-gitea create-directories install-gitea-binary install-systemd-service install-nginx-debian

install-rocky: install-dependencies-rocky create-user-rocky download-gitea create-directories install-gitea-binary install-systemd-service install-nginx-rocky

install-dependencies-debian:
	apt -y install git vim bash-completion jq
	apt -y install mariadb-server
	git --version

install-dependencies-rocky:
	dnf -y install git vim bash-completion jq
	dnf -y install mariadb-server
	git --version

install-latest-mariadb-rocky:
	bash install-latest-mariadb-rocky.sh

enable-mariadb:
	systemctl daemon-reload
	systemctl enable mariadb

start-mariadb:
	systemctl start mariadb

prepare-db:
	mysql < prepare-gitea-db.sql

enable-nginx:
	systemctl daemon-reload
	systemctl enable nginx

start-nginx:
	systemctl start nginx

stop-nginx:
	systemctl stop nginx

restart-nginx: stop-nginx start-nginx
	
enable-gitea:
	systemctl daemon-reload
	systemctl enable gitea

start-gitea:
	systemctl start gitea

create-user-debian:
	adduser  --system --shell /bin/bash --gecos 'Git Version Control' \
		--group --disabled-password --home /home/git git

create-user-rocky:
	adduser  --system --shell /bin/bash -d /home/git git

download-gitea:
	bash download-gitea.sh


install-gitea-binary:
	cp -vf gitea-linux-amd64 /usr/local/bin/gitea
	chmod +x /usr/local/bin/gitea
	gitea --version
	
create-directories:
	mkdir -vp /etc/gitea
	mkdir -vp /var/lib/gitea/custom
	mkdir -vp /var/lib/gitea/data
	mkdir -vp /var/lib/gitea/indexers
	mkdir -vp /var/lib/gitea/public
	mkdir -vp /var/lib/gitea/logs
	chown git:git /var/lib/gitea
	chown git:git /var/lib/gitea/data
	chown git:git /var/lib/gitea/indexers
	chown git:git /var/lib/gitea/logs
	chmod 750 /var/lib/gitea/data
	chmod 750 /var/lib/gitea/indexers
	chmod 750 /var/lib/gitea/logs
	chown root:git /etc/gitea
	chmod 770 /etc/gitea

install-systemd-service:
	cp -vf gitea.service /etc/systemd/system/gitea.service


enable-service:
	systemctl daemon-reload
	systemctl enable gitea

start:
	systemctl start gitea

restart:
	systemctl restart gitea

stop:
	systemctl stop gitea

disable-service:
	systemctl daemon-reload
	systemctl disable gitea

status:
	systemctl status gitea --no-pager


install-nginx-debian:
	apt -y install nginx

install-nginx-rocky:
	dnf -y install nginx

create-nginx-ssl-dir:
	mkdir -pv /etc/ssl/nginx

generate-self-signed-certificate:
	bash gen-self-signed-cert.sh

install-nginx-conf-rocky:
	cp -vf rocky-nginx.conf /etc/nginx/nginx.conf

disable-firewalld:
	systemctl disable firewalld --now
