Able to set SSH port when install, update Docker docs
This commit is contained in:
		
							parent
							
								
									1453e91f41
								
							
						
					
					
						commit
						bd1d7d1509
					
				
					 8 changed files with 50 additions and 31 deletions
				
			
		|  | @ -76,6 +76,8 @@ run_user = Run User | ||||||
| run_user_helper = The user must have access to Repository Root Path and run Gogs. | run_user_helper = The user must have access to Repository Root Path and run Gogs. | ||||||
| domain = Domain | domain = Domain | ||||||
| domain_helper = This affects SSH clone URLs. | domain_helper = This affects SSH clone URLs. | ||||||
|  | ssh_port = SSH Port | ||||||
|  | ssh_port_helper = Port number which your SSH server is using, leave it empty to disable SSH feature. | ||||||
| http_port = HTTP Port | http_port = HTTP Port | ||||||
| http_port_helper = Port number which application will listen on. | http_port_helper = Port number which application will listen on. | ||||||
| app_url = Application URL | app_url = Application URL | ||||||
|  |  | ||||||
|  | @ -35,21 +35,19 @@ Directory `/var/gogs` keeps Git repoistories and Gogs data: | ||||||
|         |-- log |         |-- log | ||||||
|         |-- templates |         |-- templates | ||||||
| 
 | 
 | ||||||
| ## SSH Support | ## Settings | ||||||
| 
 | 
 | ||||||
| In order to support SSH, You need to change `SSH_PORT` in `/var/gogs/gogs/conf/app.ini`: | Most of settings are obvious and easy to understand, but there are some settings can be confusing by running Gogs inside Docker: | ||||||
| 
 | 
 | ||||||
| ``` | - Repository Root Path: keep it as default value `/home/git/gogs-repositories` because `start.sh` already made a symbolic link for you. | ||||||
| [server] | - Run User: keep it as default value `git` because `start.sh` already setup a user with name `git`. | ||||||
| SSH_PORT = 10022 | - Domain: fill in with Docker container IP(e.g. `192.168.99.100`). | ||||||
| ``` | - SSH Port: Use the exposed port from Docker container. For example, your SSH server listens on `22` inside Docker, but you expose it by `10022:22`, then use `10022` for this value. | ||||||
|  | - HTTP Port: Use the exposed port from Docker container. For example, your Gogs listens on `3000` inside Docker, but you expose it by `10080:3000`, then use `10080` for this value. | ||||||
|  | - Application URL: Use combination of **Domain** and **HTTP Port** values(e.g. `http://192.168.99.100:10080/`).  | ||||||
| 
 | 
 | ||||||
| Full documentation of settings can be found [here](http://gogs.io/docs/advanced/configuration_cheat_sheet.html). | Full documentation of settings can be found [here](http://gogs.io/docs/advanced/configuration_cheat_sheet.html). | ||||||
| 
 | 
 | ||||||
| ## Todo |  | ||||||
| 
 |  | ||||||
| Install page need support set `SSH_PORT`. |  | ||||||
| 
 |  | ||||||
| ## Troubleshooting | ## Troubleshooting | ||||||
| 
 | 
 | ||||||
| If you see the following error: | If you see the following error: | ||||||
|  |  | ||||||
|  | @ -24,6 +24,7 @@ type InstallForm struct { | ||||||
| 	RepoRootPath string `binding:"Required"` | 	RepoRootPath string `binding:"Required"` | ||||||
| 	RunUser      string `binding:"Required"` | 	RunUser      string `binding:"Required"` | ||||||
| 	Domain       string `binding:"Required"` | 	Domain       string `binding:"Required"` | ||||||
|  | 	SSHPort      int | ||||||
| 	HTTPPort     string `binding:"Required"` | 	HTTPPort     string `binding:"Required"` | ||||||
| 	AppUrl       string `binding:"Required"` | 	AppUrl       string `binding:"Required"` | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										2
									
								
								public/css/gogs.min.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								public/css/gogs.min.css
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							|  | @ -2,9 +2,10 @@ | ||||||
| 	padding-top: 45px; | 	padding-top: 45px; | ||||||
| 	padding-bottom: @footer-margin * 3; | 	padding-bottom: @footer-margin * 3; | ||||||
| 	form { | 	form { | ||||||
|  | 		@input-padding: 320px !important; | ||||||
| 		label { | 		label { | ||||||
| 			text-align: right; | 			text-align: right; | ||||||
| 			width: 40% !important; | 			width: @input-padding; | ||||||
| 		} | 		} | ||||||
| 		input { | 		input { | ||||||
| 			width: 35% !important; | 			width: 35% !important; | ||||||
|  | @ -12,7 +13,7 @@ | ||||||
| 		.field { | 		.field { | ||||||
| 			text-align: left; | 			text-align: left; | ||||||
| 			.help { | 			.help { | ||||||
| 				margin-left: 41%; | 				margin-left: @input-padding+15px; | ||||||
| 			} | 			} | ||||||
| 			&.optional .title { | 			&.optional .title { | ||||||
| 				margin-left: 38%; | 				margin-left: 38%; | ||||||
|  |  | ||||||
|  | @ -118,6 +118,7 @@ func Install(ctx *middleware.Context) { | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	form.Domain = setting.Domain | 	form.Domain = setting.Domain | ||||||
|  | 	form.SSHPort = setting.SSHPort | ||||||
| 	form.HTTPPort = setting.HttpPort | 	form.HTTPPort = setting.HttpPort | ||||||
| 	form.AppUrl = setting.AppUrl | 	form.AppUrl = setting.AppUrl | ||||||
| 
 | 
 | ||||||
|  | @ -241,6 +242,13 @@ func InstallPost(ctx *middleware.Context, form auth.InstallForm) { | ||||||
| 	cfg.Section("server").Key("HTTP_PORT").SetValue(form.HTTPPort) | 	cfg.Section("server").Key("HTTP_PORT").SetValue(form.HTTPPort) | ||||||
| 	cfg.Section("server").Key("ROOT_URL").SetValue(form.AppUrl) | 	cfg.Section("server").Key("ROOT_URL").SetValue(form.AppUrl) | ||||||
| 
 | 
 | ||||||
|  | 	if form.SSHPort == 0 { | ||||||
|  | 		cfg.Section("server").Key("DISABLE_SSH").SetValue("true") | ||||||
|  | 	} else { | ||||||
|  | 		cfg.Section("server").Key("DISABLE_SSH").SetValue("false") | ||||||
|  | 		cfg.Section("server").Key("SSH_PORT").SetValue(com.ToStr(form.SSHPort)) | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	if len(strings.TrimSpace(form.SMTPHost)) > 0 { | 	if len(strings.TrimSpace(form.SMTPHost)) > 0 { | ||||||
| 		cfg.Section("mailer").Key("ENABLED").SetValue("true") | 		cfg.Section("mailer").Key("ENABLED").SetValue("true") | ||||||
| 		cfg.Section("mailer").Key("HOST").SetValue(form.SMTPHost) | 		cfg.Section("mailer").Key("HOST").SetValue(form.SMTPHost) | ||||||
|  |  | ||||||
|  | @ -92,6 +92,11 @@ | ||||||
|             <input id="domain" name="domain" value="{{.domain}}" required> |             <input id="domain" name="domain" value="{{.domain}}" required> | ||||||
|             <span class="help">{{.i18n.Tr "install.domain_helper"}}</span> |             <span class="help">{{.i18n.Tr "install.domain_helper"}}</span> | ||||||
|           </div> |           </div> | ||||||
|  |           <div class="inline required field"> | ||||||
|  |             <label for="ssh_port">{{.i18n.Tr "install.ssh_port"}}</label> | ||||||
|  |             <input id="ssh_port" name="ssh_port" value="{{.ssh_port}}"> | ||||||
|  |             <span class="help">{{.i18n.Tr "install.ssh_port_helper"}}</span> | ||||||
|  |           </div> | ||||||
|           <div class="inline required field"> |           <div class="inline required field"> | ||||||
|             <label for="http_port">{{.i18n.Tr "install.http_port"}}</label> |             <label for="http_port">{{.i18n.Tr "install.http_port"}}</label> | ||||||
|             <input id="http_port" name="http_port" value="{{.http_port}}" required> |             <input id="http_port" name="http_port" value="{{.http_port}}" required> | ||||||
|  | @ -105,6 +110,8 @@ | ||||||
| 
 | 
 | ||||||
|           <!-- Optional Settings --> |           <!-- Optional Settings --> | ||||||
|           <h4 class="ui dividing header">{{.i18n.Tr "install.optional_title"}}</h4> |           <h4 class="ui dividing header">{{.i18n.Tr "install.optional_title"}}</h4> | ||||||
|  | 
 | ||||||
|  |           <!-- Email --> | ||||||
|           <div class="ui accordion optional field"> |           <div class="ui accordion optional field"> | ||||||
|             <div class="title {{if .Err_SMTP}}text red{{end}}"> |             <div class="title {{if .Err_SMTP}}text red{{end}}"> | ||||||
|               <i class="icon dropdown"></i> |               <i class="icon dropdown"></i> | ||||||
|  | @ -143,6 +150,7 @@ | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
| 
 | 
 | ||||||
|  |           <!-- Server and other services --> | ||||||
|           <div class="ui accordion optional field"> |           <div class="ui accordion optional field"> | ||||||
|             <div class="title"> |             <div class="title"> | ||||||
|               <i class="icon dropdown"></i> |               <i class="icon dropdown"></i> | ||||||
|  | @ -170,6 +178,7 @@ | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
| 
 | 
 | ||||||
|  |           <!-- Admin --> | ||||||
|           <div class="ui accordion optional field"> |           <div class="ui accordion optional field"> | ||||||
|             <div class="title {{if .Err_Admin}}text red{{end}}"> |             <div class="title {{if .Err_Admin}}text red{{end}}"> | ||||||
|               <i class="icon dropdown"></i> |               <i class="icon dropdown"></i> | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue