Uploaded June 2023 | Updated September 2026, 2 weeks ago
#Gitea #Git #Linux
Full steps can be found at i12bretro.github.io/tutorials/0521.html
--------------------------------------------------------------------
What is Gitea
--------------------------------------------------------------------
Gitea is a community managed lightweight code hosting solution written in Go. - gitea.io
--------------------------------------------------------------------
Installing Gitea
--------------------------------------------------------------------
01. Log into the Linux device
02. Run the following commands in a terminal:
# update software repositories
sudo apt update
# install software updates
sudo apt upgrade -y
# install preprequisites
sudo apt install git mariadb-server -y
# create gitea user
sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/gitea gitea
# configure the MySQL database
sudo su
mysql_secure_installation
03. Press Enter to login as root
04. Type Y and press Enter to set a root password, type the password twice to confirm
05. Type Y and press Enter to remove anonymous users
06. Type Y and press Enter to disallow root login remotely
07. Type Y and press Enter to remove the test database
08. Type Y and press Enter to reload privilege tables
09. Run the following command to login into MySQL:
mysql -u root -p
10. Authenticate with the root password set earlier
11. Run the following commands to create the Gitea database and database user
CREATE DATABASE gitea CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'gitea_rw'@'localhost' IDENTIFIED BY 'G1te@!';
GRANT ALL PRIVILEGES ON gitea.* TO 'gitea_rw'@'localhost';
FLUSH PRIVILEGES;
EXIT;
exit
12. Continue with the following commands:
# download the Gitea binary
wget -O ./gitea github.com/go-gitea/gitea/releases/download/v1.14.2/gitea-1.14.2-linux-amd64
# make gitea executable
sudo chmod +x gitea
# move gitea to /usr/local/bin
sudo mv ./gitea /usr/local/bin/
# verify gitea can be found
gitea --version
# create required directory structures
sudo mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown gitea:gitea /var/lib/gitea/{data,indexers,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo chown root:gitea /etc/gitea
sudo chmod 770 /etc/gitea
# create gitea service
sudo nano /etc/systemd/system/gitea.service
13. Paste the following into gitea.service
[Unit]
Description=Gitea
After=syslog.target
After=network.target
After=mysql.service
[Service]
LimitMEMLOCK=infinity
LimitNOFILE=65535
RestartSec=2s
Type=simple
User=gitea
Group=gitea
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/gitea GITEA_WORK_DIR=/var/lib/gitea
[Install]
WantedBy=multi-user.target
14. Press CTRL+O, Enter, CTRL+X to write the changes to gitea.service
15. Continue with the following commands:
# reload services
sudo systemctl daemon-reload
# enable gitea to run on boot and start now
sudo systemctl enable --now gitea
16. Open a web browser and navigate to http://DNSorIP:3000
17. Complete the database settings on the Initial Configuration screen ≫ Click the Install Gitea button
18. Click the Register Now link
19. Enter a username, email and password ≫ Click the Register Account button
20. Welcome to Gitea
Source: about.gitlab.com
### Connect with me and others ###
★ Discord: discord.com/invite/EzenvmSHW8
★ Reddit: reddit.com/r/i12bretro
★ Twitter: twitter.com/i12bretro
#Gitea #Git #Linux
Full steps can be found at i12bretro.github.io/tutorials/0521.html
--------------------------------------------------------------------
What is Gitea
--------------------------------------------------------------------
Gitea is a community managed lightweight code hosting solution written in Go. - gitea.io
--------------------------------------------------------------------
Installing Gitea
--------------------------------------------------------------------
01. Log into the Linux device
02. Run the following commands in a terminal:
# update software repositories
sudo apt update
# install software updates
sudo apt upgrade -y
# install preprequisites
sudo apt install git mariadb-server -y
# create gitea user
sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/gitea gitea
# configure the MySQL database
sudo su
mysql_secure_installation
03. Press Enter to login as root
04. Type Y and press Enter to set a root password, type the password twice to confirm
05. Type Y and press Enter to remove anonymous users
06. Type Y and press Enter to disallow root login remotely
07. Type Y and press Enter to remove the test database
08. Type Y and press Enter to reload privilege tables
09. Run the following command to login into MySQL:
mysql -u root -p
10. Authenticate with the root password set earlier
11. Run the following commands to create the Gitea database and database user
CREATE DATABASE gitea CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'gitea_rw'@'localhost' IDENTIFIED BY 'G1te@!';
GRANT ALL PRIVILEGES ON gitea.* TO 'gitea_rw'@'localhost';
FLUSH PRIVILEGES;
EXIT;
exit
12. Continue with the following commands:
# download the Gitea binary
wget -O ./gitea github.com/go-gitea/gitea/releases/download/v1.14.2/gitea-1.14.2-linux-amd64
# make gitea executable
sudo chmod +x gitea
# move gitea to /usr/local/bin
sudo mv ./gitea /usr/local/bin/
# verify gitea can be found
gitea --version
# create required directory structures
sudo mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown gitea:gitea /var/lib/gitea/{data,indexers,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo chown root:gitea /etc/gitea
sudo chmod 770 /etc/gitea
# create gitea service
sudo nano /etc/systemd/system/gitea.service
13. Paste the following into gitea.service
[Unit]
Description=Gitea
After=syslog.target
After=network.target
After=mysql.service
[Service]
LimitMEMLOCK=infinity
LimitNOFILE=65535
RestartSec=2s
Type=simple
User=gitea
Group=gitea
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/gitea GITEA_WORK_DIR=/var/lib/gitea
[Install]
WantedBy=multi-user.target
14. Press CTRL+O, Enter, CTRL+X to write the changes to gitea.service
15. Continue with the following commands:
# reload services
sudo systemctl daemon-reload
# enable gitea to run on boot and start now
sudo systemctl enable --now gitea
16. Open a web browser and navigate to http://DNSorIP:3000
17. Complete the database settings on the Initial Configuration screen ≫ Click the Install Gitea button
18. Click the Register Now link
19. Enter a username, email and password ≫ Click the Register Account button
20. Welcome to Gitea
Source: about.gitlab.com
### Connect with me and others ###
★ Discord: discord.com/invite/EzenvmSHW8
★ Reddit: reddit.com/r/i12bretro
★ Twitter: twitter.com/i12bretro


![Running Organizr - A Homelab Services Organizer/Dashboard - in Docker
#Organizr #Dashboard #Docker
Full steps can be found at https://i12bretro.github.io/tutorials/0794.html
What is Organizr?
ORGANIZR aims to be your one stop shop for your Servers Frontend. Do you have quite a bit of services running on your computer or server? Do you have a lot of bookmarks or have to memorize a bunch of ip’s and ports? Well, Organizr is here to help with that... - https://organizr.app/
Installing Docker
01. Log into the Linux based device
02. Run the following commands in the terminal
# install prerequisites
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg-agent -y
# add docker gpg key
curl -fsSL https://download.docker.com/linux/$(awk -F= /^ID=/{ print $NF } /etc/os-release)/gpg | sudo apt-key add -
# add docker software repository
sudo add-apt-repository deb [arch=$(dpkg print-architecture)] https://download.docker.com/linux/$(awk -F= /^ID=/{ print $NF } /etc/os-release) $(lsb_release -cs) stable
# install docker
sudo apt install docker-ce docker-compose containerd.io -y
# enable and start docker service
sudo systemctl enable docker && sudo systemctl start docker
# add the current user to the docker group
sudo usermod -aG docker $USER
# reauthenticate for the new group membership to take effect
su - $USER
Running the Organizr Container
01. Now that Docker is installed, run the following commands to setup the Organizr Docker container and run it
# create working directory
mkdir ~/docker/organizr -p
# set ownership on the working directories
sudo chown $USER:$USER ~/docker -R
# list current uid and gid, note these for later
id $user
# run the organizr container
docker run -d name=organizr -p 8880:80 -v ~/docker/organizr:/config -e PGID=1000 -e PUID=1000 restart unless-stopped organizr/organizr
02. Open a web browser and navigate to http://DNSorIP:8880
03. Select Personal from the Install Type dropdown ≫ Click Next
04. Enter an Admin Username, Email and Password ≫ Click Next
05. Open a new browser tab and navigate to https://www.random.org/passwords/?num=1&len=24&format=plain&rnd=new
06. Copy the generated random string ≫ Paste the string in the Hash Key field
07. Go back to the random.org tab and refresh the page to generate a new string
08. Copy the generated random string ≫ Paste the string in the Registration Password
09. Click Next
10. On the Database settings page enter the Database Name organizr and set the Database Location to /config/www/organizr/data/ ≫ Click the Test/Create Path button ≫ Click Next
11. Review the Summary ≫ Click Finish
12. Welcome to Organizr
Documentation: https://hub.docker.com/r/organizr/organizr
Source: https://docs.organizr.app/installation/installing-organizr
### Connect with me and others ###
★ Discord: https://discord.com/invite/EzenvmSHW8
★ Reddit: https://reddit.com/r/i12bretro
★ Twitter: https://twitter.com/i12bretro Running Organizr - A Homelab Services Organizer/Dashboard - in Docker](https://i.ytimg.com/vi/zFdAQoph1aQ/mqdefault.jpg)
![Run Group-Office Collaboration Suite in Docker
#GroupOffice #CRM #Docker
Full steps can be found at https://i12bretro.github.io/tutorials/0940.html
What is Group Office?
Group-Office is an enterprise CRM and groupware tool. Collaborate, Share projects, calendars, files and e-mail online with co-workers and clients. Easy to use and fully customizable. - https://www.group-office.com/
Installing Docker
01. Log into the Linux based device
02. Run the following commands in the terminal
# install prerequisites
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg-agent -y
# add docker gpg key
curl -fsSL https://download.docker.com/linux/$(awk -F= /^ID=/{ print $NF } /etc/os-release)/gpg | sudo apt-key add -
# add docker software repository
sudo add-apt-repository deb [arch=$(dpkg print-architecture)] https://download.docker.com/linux/$(awk -F= /^ID=/{ print $NF } /etc/os-release) $(lsb_release -cs) stable
# install docker
sudo apt install docker-ce docker-compose containerd.io -y
# enable and start docker service
sudo systemctl enable docker && sudo systemctl start docker
# add the current user to the docker group
sudo usermod -aG docker $USER
# reauthenticate for the new group membership to take effect
su - $USER
Running Group Office
01. Continue with the following commands in a terminal window
# create working directories
mkdir ~/docker/group-office/{data,conf,share,tmp} -p && mkdir ~/docker/mariadb -p
# create a config.php file
sudo touch ~/docker/group-office/conf/config.php
# set ownership on the working directories
sudo chown $USER:$USER ~/docker -R
# allow the container to write to working directories
sudo chmod a+rwx -R ~/docker/group-office
# create containers network
docker network create containers
# run the mariadb docker container
docker run -d name mariadb network containers -e MYSQL_ROOT_PASSWORD=r00tp@$$ -e MYSQL_USER=groupoffice_rw -e MYSQL_PASSWORD=Grou40ff1c3 -e MYSQL_DATABASE=group_office -v ~/docker/mariadb:/var/lib/mysql -p 3306:3306 restart=unless-stopped mariadb:latest
# run the group-office docker image
docker run -d name group-office network containers -e MYSQL_USER=groupoffice_rw -e MYSQL_PASSWORD=Grou40ff1c3 -e MYSQL_DATABASE=group_office -e MYSQL_HOST=mariadb -p 9000:80 -v ~/docker/group-office/conf:/etc/groupoffice -v ~/docker/group-office/data:/var/lib/groupoffice -v ~/docker/group-office/tmp:/tmp/groupoffice restart=unless-stopped intermesh/groupoffice
02. Open a web browser and navigate to http://DNSorIP:9000
03. Click Continue at the welcome screen
04. Click Continue at the system requirements check
05. Complete the database configuration using the values below
Database user=groupoffice_rw
Database password=Grou40ff1c3
Database name=group_office
Database hostname=mariadb
Database port=3306
06. Click Continue
07. Create an administrator account by entering an Email, Username and password ≫ Select a Language ≫ Click Install
08. Once the installation completes, click Continue
09. Login using the username and password setup earlier
10. If prompted, enter and confirm a new password
11. Welcome to Group Office
Documentation: https://github.com/Intermesh/docker-groupoffice/
### Connect with me and others ###
★ Discord: https://discord.com/invite/EzenvmSHW8
★ Reddit: https://reddit.com/r/i12bretro
★ Twitter: https://twitter.com/i12bretro Run Group-Office Collaboration Suite in Docker](https://i.ytimg.com/vi/zJJ-CoiG2vM/mqdefault.jpg)
![Control Local Docker Containers From a Web Browser with Yacht
#Yacht #Docker #PortainerAlternative
Full steps can be found at https://i12bretro.github.io/tutorials/0468.html
What is Yacht?
Yacht is a web interface for managing docker containers with an emphasis on templating to provide one-click deployments of dockerized applications. Think of it like a decentralized app store for servers that anyone can make packages for. - https://yacht.sh/docs/
Installing Docker
01. Log into the Linux based device
02. Run the following commands in the terminal
# install prerequisites
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg-agent -y
# add docker gpg key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# add docker software repository
sudo add-apt-repository deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable
# install docker
sudo apt install docker-ce docker-compose containerd.io -y
# enable and start docker service
sudo systemctl enable docker && sudo systemctl start docker
# add the current user to the docker group
sudo usermod -aG docker $USER
# reauthenticate for the new group membership to take effect
su - $USER
Running Yacht
01. Now that Docker is installed, run the following commands to setup the Yacht Docker container and run it
# create working directories
mkdir ~/docker/yacht -p
# run the yacht docker container
docker run -d -p 8000:8000 -v /var/run/docker.sock:/var/run/docker.sock -v ~/docker/yacht:/config restart unless-stopped selfhostedpro/yacht
02. Once the Yacht container is downloaded and running, open a web browser and navigate to http://DNSorIP:8000
03. Login with the username admin@yacht.local and password pass
04. Click Admin ≫ User in the top right corner
05. Select Change Password from the top navigation menu
06. Enter and confirm a new password
07. Optionally, change the username
08. Click the Change User Info button to apply the changes
09. Welcome to Yacht, Docker container management from a web browser
Documentation: https://github.com/SelfhostedPro/Yacht
### Connect with me and others ###
★ Discord: https://discord.com/invite/EzenvmSHW8
★ Reddit: https://reddit.com/r/i12bretro
★ Twitter: https://twitter.com/i12bretro Control Local Docker Containers From a Web Browser with Yacht](https://i.ytimg.com/vi/zaJkcQPgGPs/mqdefault.jpg)