Gitea
Gitea is a painless, self-hosted, all-in-one software development service. It includes Git hosting, code review, team collaboration, package registry and CI/CD. It is similar to GitHub, Bitbucket and GitLab.
References
Make directory
mkdir -p {{{DOCKER_PATH_VAR}}}/gitea && cd {{{DOCKER_PATH_VAR}}}/gitea
docker-compose.yml
nano docker-compose.yml
networks: gitea-network: external: true
services: server: image: docker.gitea.com/gitea:1.23.5 container_name: gitea environment: USER_UID: ${USER_UID} USER_GID: ${USER_GID} GITEA__database__DB_TYPE: ${GITEA__database__DB_TYPE} GITEA__database__HOST: ${GITEA__database__HOST} GITEA__database__NAME: ${GITEA__database__NAME} GITEA__database__USER: ${GITEA__database__USER} GITEA__database__PASSWD: ${GITEA__database__PASSWD} LOCAL_ROOT_URL: ${LOCAL_ROOT_URL} networks: - gitea-network ports: - "3004:3000" - "222:22" volumes: - ./gitea:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro restart: always depends_on: - db
db: image: docker.io/library/mysql:8 container_name: gitea_db networks: - gitea-network volumes: - ./mysql:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} MYSQL_DATABASE: ${MYSQL_DATABASE} restart: always
.env
nano .env
USER_UID=1000USER_GID=1000LOCAL_ROOT_URL=http://localhost:3004GITEA__database__DB_TYPE=mysqlGITEA__database__HOST=db:3306GITEA__database__NAME=giteaGITEA__database__USER=gitea # change to different USERGITEA__database__PASSWD=gitea # change to different PASSWORD openssl rand -base64 32GITEA__server__HTTP_PORT=3004
MYSQL_ROOT_PASSWORD=gitea # change to different ANOTHER_PASSWORD openssl rand -base64 32MYSQL_USER=gitea # must match GITEA__database__USERMYSQL_PASSWORD=gitea # must match GITEA__database__PASSWDMYSQL_DATABASE=gitea # must match GITEA__database__NAME
Create docker network
docker network create gitea-network
Start container
docker compose up -d