joephon / blog

极简博客
3 stars 2 forks source link

How to set up a git self-hosted server with gitea and nginx via docker #3

Open joephon opened 4 years ago

joephon commented 4 years ago

Dependencies

OS

Ubuntu 16

Step 1 install docker && docker-compose

sudo apt-get install docker docker-compose

Step 2 create your project

mkdir gitea && cd gitea
vim docker-compose.yaml

write sth in your docker-compose file

version: "2"

networks:
  gitea:
    external: false

services:
  server:
    image: gitea/gitea:latest
    environment:
      - DB_TYPE=mysql
      - DB_HOST=db:3306
      - DB_NAME=gitea
      - DB_USER=gitea
      - DB_PASSWD=gitea
    restart: always
    networks:
      - gitea
    volumes:
      - ./gitea:/data
    ports:
      - "3000:3000"
      - "222:22"
    depends_on:
      - db

  db:
    image: mysql:5.7.27
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=gitea
      - MYSQL_USER=gitea
      - MYSQL_PASSWORD=gitea
      - MYSQL_DATABASE=gitea
    networks:
      - gitea
    volumes:
      - ./mysql:/var/lib/mysql

set up your gitea server via docker

docker-compose up -D

Step 3 set up a nginx server

sudo apt-get install -y nginx

Step 2 bing your domain with nginx

sudo vim /etc/nginx/site-enable/gitea

The nginx config file might look like as below

server {
  listen 80;
  server_name your.domain.com;  
  location / {
     proxy_pass      http://localhost:[your port]/;   
     proxy_set_header Host   $host;           
     proxy_set_header X-Real-IP;      
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}
sudo nginx -s reload

Bingo~

Open a browser and try to visit your gitea web site

这篇文章价值两元