Compare commits
	
		
			1 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | ef079dd29b | 
							
								
								
									
										122
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										122
									
								
								README.md
									
									
									
									
									
								
							| @ -1,130 +1,44 @@ | |||||||
| # Gitea Installer | # Gitea Installer | ||||||
| 
 | 
 | ||||||
| Installs [Gitea](https://gitea.io) (formerly Gogs) as a systemd service | Installs Gitea as a systemd service | ||||||
| 
 | 
 | ||||||
| # Easy Install (Linux) | ## Linux Install Script | ||||||
| 
 | 
 | ||||||
| You can download and run the installer script using this command: | You can download and run the installer script: | ||||||
| 
 | 
 | ||||||
| `curl -fsSL https://git.coolaj86.com/coolaj86/gitea-installer.sh/raw/branch/master/install.bash | bash` | ```bash | ||||||
| 
 | wget -O install-gitea.bash https://git.coolaj86.com/coolaj86/gitea-installer.sh/raw/master/install.bash | ||||||
| <a href="https://youtu.be/dTvTBlzKqgg" target="_blank"><img title="How to install Gitea" alt="a screencast of me installing gitea and migrating one of my github repos" src="https://i.imgur.com/e4CZdBu.png"></a> | bash install-gitea.bash | ||||||
| 
 | ``` | ||||||
| ## Specific Versions |  | ||||||
| 
 |  | ||||||
| You can pick a specific version to install. For example, if you were nostalgic for 1.2.0, you could run: |  | ||||||
| 
 |  | ||||||
| `curl -fsSL https://git.coolaj86.com/coolaj86/gitea-installer.sh/raw/branch/master/install.bash | bash -s version 1.2.0` |  | ||||||
| 
 |  | ||||||
| # After Installing |  | ||||||
| 
 |  | ||||||
| Once you have gitea installed and running you must choose |  | ||||||
| which database to use, certain gitea paths, an admin user, etc. |  | ||||||
| 
 |  | ||||||
| Go to: http://localhost:3000/ |  | ||||||
| 
 |  | ||||||
| You should see these fields: |  | ||||||
| 
 |  | ||||||
| *The following is for basic usage with this script, for more advance usage see: [https://docs.gitea.io/en-us/customizing-gitea/](https://docs.gitea.io/en-us/customizing-gitea/)* |  | ||||||
| 
 |  | ||||||
| `Database Type:` Use SQLite3 for the database. |  | ||||||
| 
 |  | ||||||
| `Path:` Leave this alone. |  | ||||||
| 
 |  | ||||||
| `Application Name:` Give your Gitea server a fancy name. |  | ||||||
| 
 |  | ||||||
| `Repository Root Path:` Leave this alone. |  | ||||||
| 
 |  | ||||||
| `LFS Root Path:` Leave this alone. |  | ||||||
| 
 |  | ||||||
| `Run User:` Leave this alone. |  | ||||||
| 
 |  | ||||||
| `Domain:` Replace this with your domain name for the server. |  | ||||||
| 
 |  | ||||||
| `SSH Port:` Leave this alone unless you want a custom port for SSH. |  | ||||||
| 
 |  | ||||||
| `HTTP Port:` Change this if you want Gitea to serve on a different port. You don't usually need to, Gitea is usually used behind a web server. |  | ||||||
| 
 |  | ||||||
| `Application URL:` Enter the full URL for your Gitea instance, like https://example.com/ |  | ||||||
| 
 |  | ||||||
| `Log Path:` Leave this alone. |  | ||||||
| 
 |  | ||||||
| Click on "Admin Account Settings" to setup your user account and click "Install Gitea" when you are done. |  | ||||||
| 
 |  | ||||||
| ## Manual Install |  | ||||||
| 
 | 
 | ||||||
| Or manually install by reading these instructions and following along: | Or manually install by reading these instructions and following along: | ||||||
| 
 | 
 | ||||||
| ```bash | ```bash | ||||||
| ### Create a 'gitea' user and group with the home /opt/gitea, no password (because it's a system user) and no GECOS | # Create a 'gitea' user and group with the home /opt/gitea, no password (because it's a system user) and no GECOS | ||||||
| sudo adduser gitea --home /opt/gitea --disabled-password --gecos '' | sudo adduser gitea --home /opt/gitea --disabled-password --gecos '' | ||||||
| 
 | 
 | ||||||
| ### Make some other potentially useful directories for that user/group | # Make some other potentially useful directories for that user/group | ||||||
| sudo mkdir -p /opt/gitea/ /var/log/gitea | sudo mkdir -p /opt/gitea/ /var/log/gitea | ||||||
| sudo chown -R gitea:gitea /opt/gitea/ /var/log/gitea | sudo chown -R gitea:gitea /opt/gitea/ /var/log/gitea | ||||||
| 
 | 
 | ||||||
| ### Download and install gitea. Replace "amd64" with "i386" for 32 bit x86 or "arm-7" for ARMv7 and "arm-6" for ARMv6. | # Download and install gitea | ||||||
| sudo wget -O /opt/gitea/gitea https://dl.gitea.io/gitea/1.4.1/gitea-1.4.1-linux-amd64 | sudo wget -O /opt/gitea/gitea https://dl.gitea.io/gitea/1.0.1/gitea-1.0.1-linux-amd64 | ||||||
| sudo chmod +x /opt/gitea/gitea | sudo chmod +x /opt/gitea/gitea | ||||||
| 
 | 
 | ||||||
| ### Download and install the gitea.service for systemd | # Download and install the gitea.service for systemd | ||||||
| sudo wget -O /etc/systemd/system/gitea.service https://git.coolaj86.com/coolaj86/gitea-installer.sh/raw/master/dist/etc/systemd/system/gitea.service | sudo wget -O /etc/systemd/system/gitea.service https://git.coolaj86.com/coolaj86/gitea-installer.sh/raw/master/dist/etc/systemd/system/gitea.service | ||||||
| 
 | 
 | ||||||
| ### Start gitea | # Start gitea | ||||||
| sudo systemctl restart gitea | sudo systemctl restart gitea | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| Then see the post-install instruction above. | ## Gitea Web Setup (post install) | ||||||
| 
 | 
 | ||||||
| ## Customize Gitea | Once you've gitea installed and running you must choose | ||||||
|  | which database to use, certain gitea paths, an admin user, etc. | ||||||
| 
 | 
 | ||||||
| ``` | > http://localhost:3000/ | ||||||
| /opt/gitea/custom/conf/app.ini |  | ||||||
| 
 |  | ||||||
| https://github.com/go-gitea/gitea/tree/master/custom/conf/app.ini.sample |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| Once a reverse proxy is set up you can change the `HTTP_ADDR` from the default (world accessible) to localhost-only. |  | ||||||
| 
 |  | ||||||
| ``` |  | ||||||
| HTTP_ADDR        = localhost |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| ## Customize Gitea Theme |  | ||||||
| 
 |  | ||||||
| All overrides to the existing theme can be placed in the `custom/public` and `custom/templates` folders. |  | ||||||
| 
 |  | ||||||
| * Change Logo |  | ||||||
| * Change Landing Page |  | ||||||
| * Google Analytics |  | ||||||
| 
 |  | ||||||
| ``` |  | ||||||
| /opt/gitea/custom/public |  | ||||||
| /opt/gitea/custom/templates |  | ||||||
| 
 |  | ||||||
| /opt/gitea/custom/public/img/favicon.png     # 16x16 logo in tab |  | ||||||
| /opt/gitea/custom/public/img/gitea-sm.png    # 120x120 logo on all pages |  | ||||||
| /opt/gitea/custom/public/img/gitea-sm.png    # 880x880 logo on landing page |  | ||||||
| 
 |  | ||||||
| /opt/gitea/custom/templates/home.tmpl        # The landing page |  | ||||||
| /opt/gitea/custom/templates/base/head.tmpl   # Google Analytics, Login with Github |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| * [Login with Github](https://git.coolaj86.com/coolaj86/gitea-installer.sh/src/tag/v1.0.0/custom/templates/base/head.tmpl#L277) |  | ||||||
| 
 |  | ||||||
| For many items, such as the logo, you can simply right-click "inspect" to discover the location. For example, the small logo is `/img/gitea-sm.png` or `/opt/gitea/custom/public/img/gitea-sm.png`. |  | ||||||
| 
 |  | ||||||
| You can find more information about customization and templates in the docs and on github: |  | ||||||
| 
 |  | ||||||
| * https://docs.gitea.io/en-us/customizing-gitea/ |  | ||||||
| * https://github.com/go-gitea/gitea/tree/master/templates/ |  | ||||||
| 
 | 
 | ||||||
| # Troubleshooting systemd | # Troubleshooting systemd | ||||||
| 
 | 
 | ||||||
| See [Troubleshooting systemd](https://git.coolaj86.com/coolaj86/service-installer.sh/src/master/README.md#troubleshooting-systemd) | See [Troubleshooting systemd](https://git.coolaj86.com/coolaj86/service-installer.sh/src/master/README.md#troubleshooting-systemd) | ||||||
| 
 |  | ||||||
| # Removing Gitea |  | ||||||
| 
 |  | ||||||
| Run this command to uninstall Gitea: (THIS WILL REMOVE ALL DATA if you are using SQLite!) |  | ||||||
| 
 |  | ||||||
| `curl -fsSL https://git.coolaj86.com/coolaj86/gitea-installer.sh/raw/branch/master/remove.bash | bash` |  | ||||||
| @ -1,57 +0,0 @@ | |||||||
| APP_NAME = CoolAJ86 on GIT |  | ||||||
| DESCRIPTION = All Neo-Luddites and Lv. 99 Code Whisperers Welcome |  | ||||||
| RUN_USER = gitea |  | ||||||
| RUN_MODE = prod |  | ||||||
| 
 |  | ||||||
| [database] |  | ||||||
| DB_TYPE  = sqlite3 |  | ||||||
| HOST     = |  | ||||||
| NAME     = |  | ||||||
| USER     = |  | ||||||
| PASSWD   = |  | ||||||
| SSL_MODE = disable |  | ||||||
| PATH     = /opt/gitea@git.coolaj86.com/data/gitea.db |  | ||||||
| 
 |  | ||||||
| [repository] |  | ||||||
| ROOT = /srv/gitea@git.coolaj86.com/gitea-repositories |  | ||||||
| 
 |  | ||||||
| [server] |  | ||||||
| SSH_DOMAIN   = git.coolaj86.com |  | ||||||
| HTTP_ADDR    = localhost |  | ||||||
| HTTP_PORT    = 3000 |  | ||||||
| ROOT_URL     = https://git.coolaj86.com/ |  | ||||||
| DISABLE_SSH  = false |  | ||||||
| SSH_PORT     = 22042 |  | ||||||
| OFFLINE_MODE = false |  | ||||||
| 
 |  | ||||||
| [mailer] |  | ||||||
| ENABLED = true |  | ||||||
| HOST    = smtp.mailgun.org:587 |  | ||||||
| FROM    = gitea@coolaj86.com |  | ||||||
| USER    = gitea@coolaj86.com |  | ||||||
| PASSWD  = 00000000000000000000000000000000 |  | ||||||
| 
 |  | ||||||
| [service] |  | ||||||
| REGISTER_EMAIL_CONFIRM = false |  | ||||||
| ENABLE_NOTIFY_MAIL     = true |  | ||||||
| DISABLE_REGISTRATION   = false |  | ||||||
| ENABLE_CAPTCHA         = true |  | ||||||
| REQUIRE_SIGNIN_VIEW    = false |  | ||||||
| 
 |  | ||||||
| [picture] |  | ||||||
| DISABLE_GRAVATAR        = false |  | ||||||
| ENABLE_FEDERATED_AVATAR = true |  | ||||||
| 
 |  | ||||||
| [session] |  | ||||||
| PROVIDER = file |  | ||||||
| 
 |  | ||||||
| [log] |  | ||||||
| MODE      = file |  | ||||||
| LEVEL     = Info |  | ||||||
| ROOT_PATH = /opt/gitea@git.coolaj86.com/log |  | ||||||
| 
 |  | ||||||
| [security] |  | ||||||
| INSTALL_LOCK   = true |  | ||||||
| SECRET_KEY     = xxxxxxxxxx |  | ||||||
| INTERNAL_TOKEN = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |  | ||||||
| 
 |  | ||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 12 KiB | 
| @ -1 +0,0 @@ | |||||||
| favicon.png |  | ||||||
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 7.2 KiB | 
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 46 KiB | 
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 8.7 KiB | 
| @ -1,104 +0,0 @@ | |||||||
| {{/* |  | ||||||
| <html> |  | ||||||
| <body> |  | ||||||
| 	<div> |  | ||||||
| */}} |  | ||||||
| 
 |  | ||||||
| 	{{template "custom/body_inner_post" .}} |  | ||||||
| 
 |  | ||||||
| 	</div> |  | ||||||
| 
 |  | ||||||
| 	{{template "custom/body_outer_post" .}} |  | ||||||
| 
 |  | ||||||
| 	<footer> |  | ||||||
| 		<div class="ui container"> |  | ||||||
| 			<div class="ui left"> |  | ||||||
|        © AJ ONeal, founder of <a target="_blank" href="https://ppl.family">ppl :)</a> |  | ||||||
|        and <a target="_blank" href="https://dapliefounder.com">Daplie</a><a target="_blank" href="https://dap-lies.com">.</a> |  | ||||||
| 			</div> |  | ||||||
| 			<div class="ui right"> |  | ||||||
| 				{{if .ShowFooterBranding}} |  | ||||||
| 					<a target="_blank" rel="noopener" href="https://github.com/go-gitea/gitea"><i class="fa fa-github-square"></i><span class="sr-only">GitHub</span></a> |  | ||||||
| 				{{end}} |  | ||||||
| 				<div class="ui language bottom floating slide up dropdown link item"> |  | ||||||
| 					<i class="world icon"></i> |  | ||||||
| 					<div class="text">{{.LangName}}</div> |  | ||||||
| 					<div class="menu"> |  | ||||||
| 						{{range .AllLangs}} |  | ||||||
| 							<a class="item {{if eq $.Lang .Lang}}active selected{{end}}" href="{{if eq $.Lang .Lang}}#{{else}}{{$.Link}}?lang={{.Lang}}{{end}}">{{.Name}}</a> |  | ||||||
| 						{{end}} |  | ||||||
| 					</div> |  | ||||||
| 				</div> |  | ||||||
|         | Powered by <a target="_blank" rel="noopener" href="https://gitea.io">Gitea</a> {{if (or .ShowFooterVersion .PageIsAdmin)}}: v{{AppVer}}{{end}} |  | ||||||
| 				| {{if (or .ShowFooterVersion .PageIsAdmin)}}<span class="version">{{GoVer}}</span>{{end}} |  | ||||||
|         | {{if ShowFooterTemplateLoadTime}}{{.i18n.Tr "page"}}: <strong>{{LoadTimes .PageStartTime}}</strong> {{.i18n.Tr "template"}}: <strong>{{call .TmplLoadTimes}}</strong>{{end}} |  | ||||||
| 				| <a href="{{AppSubUrl}}/api/swagger">API</a> |  | ||||||
| 			</div> |  | ||||||
| 		</div> |  | ||||||
| 	</footer> |  | ||||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/jquery/jquery.min.js"></script> |  | ||||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/jquery.areyousure/jquery.are-you-sure.js"></script> |  | ||||||
| {{if .RequireSimpleMDE}} |  | ||||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/simplemde/simplemde.min.js"></script> |  | ||||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/codemirror/addon/mode/loadmode.js"></script> |  | ||||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/codemirror/mode/meta.js"></script> |  | ||||||
| 	<script> |  | ||||||
| 		CodeMirror.modeURL =  "{{AppSubUrl}}/vendor/plugins/codemirror/mode/%N/%N.js"; |  | ||||||
| 	</script> |  | ||||||
| {{end}} |  | ||||||
| {{if .RequireGitGraph}} |  | ||||||
| 	<!-- graph --> |  | ||||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/gitgraph/gitgraph.js"></script> |  | ||||||
| 	<script src="{{AppSubUrl}}/js/draw.js"></script> |  | ||||||
| {{end}} |  | ||||||
| 
 |  | ||||||
| <!-- Third-party libraries --> |  | ||||||
| {{if .RequireHighlightJS}} |  | ||||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/highlight/highlight.pack.js"></script> |  | ||||||
| {{end}} |  | ||||||
| {{if .RequireMinicolors}} |  | ||||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/jquery.minicolors/jquery.minicolors.min.js"></script> |  | ||||||
| {{end}} |  | ||||||
| {{if .RequireDatetimepicker}} |  | ||||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/jquery.datetimepicker/jquery.datetimepicker.js"></script> |  | ||||||
| {{end}} |  | ||||||
| {{if .RequireDropzone}} |  | ||||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/dropzone/dropzone.js"></script> |  | ||||||
| {{end}} |  | ||||||
| {{if .RequireTribute}} |  | ||||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/tribute/tribute.min.js"></script> |  | ||||||
| 
 |  | ||||||
| 	{{if .Assignees}} |  | ||||||
| 	<script> |  | ||||||
| 		var issuesTribute = new Tribute({ |  | ||||||
| 			values: [ |  | ||||||
| 			{{ range .Assignees }} |  | ||||||
| 			{key: '{{.Name}} {{.FullName}}', value: '{{.Name}}', |  | ||||||
| 			name: '{{.Name}}', fullname: '{{.FullName}}', avatar: '{{.RelAvatarLink}}'}, |  | ||||||
| 			{{ end }} |  | ||||||
| 			], |  | ||||||
| 			noMatchTemplate: function () { return null }, |  | ||||||
| 			menuItemTemplate: function (item) { |  | ||||||
| 				var user = item.original; |  | ||||||
| 				var itemStr = '<img src="' + user.avatar + '"/><span class="name">' + user.name + '</span>'; |  | ||||||
| 				if (user.fullname && user.fullname != '') { |  | ||||||
| 					itemStr += '<span class="fullname">' + user.fullname + '</span>'; |  | ||||||
| 				} |  | ||||||
| 				return itemStr; |  | ||||||
| 			} |  | ||||||
| 		}) |  | ||||||
| 		issuesTribute.attach(document.getElementById('content')) |  | ||||||
| 	</script> |  | ||||||
| 	{{end}} |  | ||||||
| {{end}} |  | ||||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/autolink/autolink.js"></script> |  | ||||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/emojify/emojify.min.js"></script> |  | ||||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/clipboard/clipboard.min.js"></script> |  | ||||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/vue/vue.min.js"></script> |  | ||||||
| 
 |  | ||||||
| 	<!-- JavaScript --> |  | ||||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/semantic/semantic.min.js"></script> |  | ||||||
| 	<script src="{{AppSubUrl}}/js/index.js?v={{MD5 AppVer}}"></script> |  | ||||||
| {{template "custom/footer" .}} |  | ||||||
| </body> |  | ||||||
| </html> |  | ||||||
| @ -1,290 +0,0 @@ | |||||||
| <!DOCTYPE html> |  | ||||||
| <html> |  | ||||||
| <head data-suburl="{{AppSubUrl}}"> |  | ||||||
| 	<meta charset="utf-8"> |  | ||||||
| 	<meta name="viewport" content="width=device-width, initial-scale=1"> |  | ||||||
| 	<meta http-equiv="x-ua-compatible" content="ie=edge"> |  | ||||||
| 	<title>{{if .Title}}{{.Title}} - {{end}}{{AppName}}</title> |  | ||||||
| 	<meta name="theme-color" content="{{ThemeColorMetaTag}}"> |  | ||||||
| 	<meta name="author" content="{{if .Repository}}{{.Owner.Name}}{{else}}{{MetaAuthor}}{{end}}" /> |  | ||||||
| 	<meta name="description" content="{{if .Repository}}{{.Repository.Name}}{{if .Repository.Description}} - {{.Repository.Description}}{{end}}{{else}}{{MetaDescription}}{{end}}" /> |  | ||||||
| 	<meta name="keywords" content="{{MetaKeywords}}"> |  | ||||||
| 	<meta name="referrer" content="no-referrer" /> |  | ||||||
| 	<meta name="_csrf" content="{{.CsrfToken}}" /> |  | ||||||
| 	<meta name="_suburl" content="{{AppSubUrl}}" /> |  | ||||||
| 	{{if .IsSigned}} |  | ||||||
| 		<meta name="_uid" content="{{.SignedUser.ID}}" /> |  | ||||||
| 	{{end}} |  | ||||||
| 	{{if .ContextUser}} |  | ||||||
| 		<meta name="_context_uid" content="{{.ContextUser.ID}}" /> |  | ||||||
| 	{{end}} |  | ||||||
| 	{{if .SearchLimit}} |  | ||||||
| 		<meta name="_search_limit" content="{{.SearchLimit}}" /> |  | ||||||
| 	{{end}} |  | ||||||
| {{if .GoGetImport}} |  | ||||||
| 	<meta name="go-import" content="{{.GoGetImport}} git {{.CloneLink.HTTPS}}"> |  | ||||||
| 	<meta name="go-source" content="{{.GoGetImport}} _ {{.GoDocDirectory}} {{.GoDocFile}}"> |  | ||||||
| {{end}} |  | ||||||
| 
 |  | ||||||
| 	<script> |  | ||||||
| 	{{SafeJS `/* |  | ||||||
| 	@licstart  The following is the entire license notice for the |  | ||||||
|         JavaScript code in this page. |  | ||||||
| 
 |  | ||||||
| 	Copyright (c) 2016 The Gitea Authors |  | ||||||
| 	Copyright (c) 2015 The Gogs Authors |  | ||||||
| 
 |  | ||||||
| 	Permission is hereby granted, free of charge, to any person obtaining a copy |  | ||||||
| 	of this software and associated documentation files (the "Software"), to deal |  | ||||||
| 	in the Software without restriction, including without limitation the rights |  | ||||||
| 	to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |  | ||||||
| 	copies of the Software, and to permit persons to whom the Software is |  | ||||||
| 	furnished to do so, subject to the following conditions: |  | ||||||
| 
 |  | ||||||
| 	The above copyright notice and this permission notice shall be included in |  | ||||||
| 	all copies or substantial portions of the Software. |  | ||||||
| 
 |  | ||||||
| 	THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |  | ||||||
| 	IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |  | ||||||
| 	FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |  | ||||||
| 	AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |  | ||||||
| 	LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |  | ||||||
| 	OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |  | ||||||
| 	THE SOFTWARE. |  | ||||||
| 	--- |  | ||||||
| 	Licensing information for additional javascript libraries can be found at: |  | ||||||
| 	  {{AppSubUrl}}/vendor/librejs.html |  | ||||||
| 
 |  | ||||||
| 	@licend  The above is the entire license notice |  | ||||||
|         for the JavaScript code in this page. |  | ||||||
| 	*/`}} |  | ||||||
| 	</script> |  | ||||||
| 
 |  | ||||||
| 	<link rel="shortcut icon" href="{{AppSubUrl}}/img/favicon.png" /> |  | ||||||
| 	<link rel="mask-icon" href="{{AppSubUrl}}/img/gitea-safari.svg" color="#609926"> |  | ||||||
| 	<link rel="preload" href="{{AppSubUrl}}/vendor/assets/font-awesome/css/font-awesome.min.css" as="style" onload="this.rel='stylesheet'"> |  | ||||||
| 	<noscript><link rel="stylesheet" href="{{AppSubUrl}}/vendor/assets/font-awesome/css/font-awesome.min.css"></noscript> |  | ||||||
| 	<link rel="stylesheet" href="{{AppSubUrl}}/vendor/assets/octicons/octicons.min.css"> |  | ||||||
| 
 |  | ||||||
| {{if .RequireSimpleMDE}} |  | ||||||
| 	<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/simplemde/simplemde.min.css"> |  | ||||||
| {{end}} |  | ||||||
| 
 |  | ||||||
| {{if .RequireGitGraph}} |  | ||||||
| 	<!-- graph --> |  | ||||||
| 	<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/gitgraph/gitgraph.css"> |  | ||||||
| {{end}} |  | ||||||
| 
 |  | ||||||
| {{if .RequireTribute}} |  | ||||||
| 	<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/tribute/tribute.css"> |  | ||||||
| {{end}} |  | ||||||
| 
 |  | ||||||
| 	<!-- Stylesheet --> |  | ||||||
| 	<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/semantic/semantic.min.css"> |  | ||||||
| 	<link rel="stylesheet" href="{{AppSubUrl}}/css/index.css?v={{MD5 AppVer}}"> |  | ||||||
| 	<noscript> |  | ||||||
| 		<style> |  | ||||||
| 			.dropdown:hover > .menu { display: block; } |  | ||||||
| 			.ui.secondary.menu .dropdown.item > .menu { margin-top: 0; } |  | ||||||
| 		</style> |  | ||||||
| 	</noscript> |  | ||||||
| 
 |  | ||||||
| {{if .RequireHighlightJS}} |  | ||||||
| 	<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/highlight/github.css"> |  | ||||||
| {{end}} |  | ||||||
| {{if .RequireMinicolors}} |  | ||||||
| 	<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/jquery.minicolors/jquery.minicolors.css"> |  | ||||||
| {{end}} |  | ||||||
| {{if .RequireDatetimepicker}} |  | ||||||
| 	<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/jquery.datetimepicker/jquery.datetimepicker.css"> |  | ||||||
| {{end}} |  | ||||||
| {{if .RequireDropzone}} |  | ||||||
| 	<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/dropzone/dropzone.css"> |  | ||||||
| {{end}} |  | ||||||
| 	<style class="list-search-style"></style> |  | ||||||
| 
 |  | ||||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/cssrelpreload/loadCSS.min.js"></script> |  | ||||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/cssrelpreload/cssrelpreload.min.js"></script> |  | ||||||
| 	<!-- Global site tag (gtag.js) - Google Analytics --> |  | ||||||
| 	<script async src="https://www.googletagmanager.com/gtag/js?id=UA-18902063-3"></script> |  | ||||||
| 	<script> |  | ||||||
| 		window.dataLayer = window.dataLayer || []; |  | ||||||
| 		function gtag(){dataLayer.push(arguments);} |  | ||||||
| 		gtag('js', new Date()); |  | ||||||
| 
 |  | ||||||
| 		gtag('config', 'UA-18902063-3'); |  | ||||||
| 	</script> |  | ||||||
| {{if .PageIsUserProfile}} |  | ||||||
| 	<meta property="og:title" content="{{.Owner.Name}}" /> |  | ||||||
| 	<meta property="og:type" content="profile" /> |  | ||||||
| 	<meta property="og:image" content="{{.Owner.AvatarLink}}" /> |  | ||||||
| 	<meta property="og:url" content="{{.Owner.HTMLURL}}" /> |  | ||||||
| 	<meta property="og:site_name" content="{{AppName}}" /> |  | ||||||
| {{else if .Repository}} |  | ||||||
| 	<meta property="og:title" content="{{.Repository.Name}}" /> |  | ||||||
| 	<meta property="og:type" content="object" /> |  | ||||||
| 	<meta property="og:image" content="{{.Repository.Owner.AvatarLink}}" /> |  | ||||||
| 	<meta property="og:url" content="{{.Repository.HTMLURL}}" /> |  | ||||||
| 	{{if .Repository.Description}} |  | ||||||
| 	<meta property="og:description" content="{{.Repository.Description}}" /> |  | ||||||
| 	{{end}} |  | ||||||
| 	<meta property="og:site_name" content="{{AppName}}" /> |  | ||||||
| {{else}} |  | ||||||
| 	<meta property="og:title" content="{{AppName}}"> |  | ||||||
| 	<meta property="og:type" content="website" /> |  | ||||||
| 	<meta property="og:image" content="{{AppSubUrl}}/img/gitea-lg.png" /> |  | ||||||
| 	<meta property="og:url" content="{{AppUrl}}" /> |  | ||||||
| 	<meta property="og:description" content="{{MetaDescription}}"> |  | ||||||
| {{end}} |  | ||||||
| {{template "custom/header" .}} |  | ||||||
| </head> |  | ||||||
| <body> |  | ||||||
| 	{{template "custom/body_outer_pre" .}} |  | ||||||
| 
 |  | ||||||
| 	<div class="full height"> |  | ||||||
| 		<noscript>{{.i18n.Tr "enable_javascript"}}</noscript> |  | ||||||
| 
 |  | ||||||
| 		{{template "custom/body_inner_pre" .}} |  | ||||||
| 
 |  | ||||||
| 		{{if not .PageIsInstall}} |  | ||||||
| 			<div class="ui top secondary stackable main menu following bar light"> |  | ||||||
| 				<div class="ui container" id="navbar"> |  | ||||||
| 					<div class="item brand" style="justify-content: space-between;"> |  | ||||||
| 						<a href="{{AppSubUrl}}/" href="{{AppSubUrl}}/"> |  | ||||||
| 							<img class="ui mini image" src="{{AppSubUrl}}/img/gitea-sm.png"> |  | ||||||
| 						</a> |  | ||||||
| 						<div class="ui basic icon button mobile-only" id="navbar-expand-toggle"> |  | ||||||
| 							<i class="sidebar icon"></i> |  | ||||||
| 						</div> |  | ||||||
| 					</div> |  | ||||||
| 
 |  | ||||||
| 					{{if .IsSigned}} |  | ||||||
| 						<a class="item{{if .PageIsDashboard}} active{{end}}" href="{{AppSubUrl}}/">{{.i18n.Tr "dashboard"}}</a> |  | ||||||
| 						<a class="item{{if .PageIsIssues}} active{{end}}" href="{{AppSubUrl}}/issues">{{.i18n.Tr "issues"}}</a> |  | ||||||
| 						<a class="item{{if .PageIsPulls}} active{{end}}" href="{{AppSubUrl}}/pulls">{{.i18n.Tr "pull_requests"}}</a> |  | ||||||
| 					{{else}} |  | ||||||
| 						<a class="item{{if .PageIsHome}} active{{end}}" href="{{AppSubUrl}}/">{{.i18n.Tr "home"}}</a> |  | ||||||
| 					{{end}} |  | ||||||
| 
 |  | ||||||
| 					<a class="item{{if .PageIsExplore}} active{{end}}" href="{{AppSubUrl}}/explore/repos">{{.i18n.Tr "explore"}}</a> |  | ||||||
| 
 |  | ||||||
| 					{{template "custom/extra_links" .}} |  | ||||||
| 
 |  | ||||||
| 					{{/* |  | ||||||
| 						<div class="item"> |  | ||||||
| 						<div class="ui icon input"> |  | ||||||
| 						<input class="searchbox" type="text" placeholder="{{.i18n.Tr "search_project"}}"> |  | ||||||
| 						<i class="search icon"></i> |  | ||||||
| 						</div> |  | ||||||
| 						</div> |  | ||||||
| 					*/}} |  | ||||||
| 
 |  | ||||||
| 					{{if .IsSigned}} |  | ||||||
| 						<div class="right stackable menu"> |  | ||||||
| 							<a href="{{AppSubUrl}}/notifications" class="item poping up" data-content='{{.i18n.Tr "notifications"}}' data-variation="tiny inverted"> |  | ||||||
| 								<span class="text"> |  | ||||||
| 									<i class="fitted octicon octicon-inbox"></i> |  | ||||||
| 									<span class="sr-mobile-only">{{.i18n.Tr "notifications"}}</span> |  | ||||||
| 
 |  | ||||||
| 									{{if .NotificationUnreadCount}} |  | ||||||
| 										<span class="ui red label"> |  | ||||||
| 											{{.NotificationUnreadCount}} |  | ||||||
| 										</span> |  | ||||||
| 									{{end}} |  | ||||||
| 								</span> |  | ||||||
| 							</a> |  | ||||||
| 
 |  | ||||||
| 							<div class="ui dropdown jump item poping up" data-content="{{.i18n.Tr "create_new"}}" data-variation="tiny inverted"> |  | ||||||
| 								<span class="text"> |  | ||||||
| 									<i class="fitted octicon octicon-plus"></i> |  | ||||||
| 									<span class="sr-mobile-only">{{.i18n.Tr "create_new"}}</span> |  | ||||||
| 									<i class="fitted octicon octicon-triangle-down not-mobile"></i> |  | ||||||
| 								</span> |  | ||||||
| 								<div class="menu"> |  | ||||||
| 									<a class="item" href="{{AppSubUrl}}/repo/create"> |  | ||||||
| 										<i class="fitted octicon octicon-plus"></i> {{.i18n.Tr "new_repo"}} |  | ||||||
| 									</a> |  | ||||||
| 									<a class="item" href="{{AppSubUrl}}/repo/migrate"> |  | ||||||
| 										<i class="fitted octicon octicon-repo-clone"></i> {{.i18n.Tr "new_migrate"}} |  | ||||||
| 									</a> |  | ||||||
| 									{{if .SignedUser.CanCreateOrganization}} |  | ||||||
| 									<a class="item" href="{{AppSubUrl}}/org/create"> |  | ||||||
| 										<i class="fitted octicon octicon-organization"></i> {{.i18n.Tr "new_org"}} |  | ||||||
| 									</a> |  | ||||||
| 									{{end}} |  | ||||||
| 								</div><!-- end content create new menu --> |  | ||||||
| 							</div><!-- end dropdown menu create new --> |  | ||||||
| 
 |  | ||||||
| 							<div class="ui dropdown jump item poping up" tabindex="-1" data-content="{{.i18n.Tr "user_profile_and_more"}}" data-variation="tiny inverted"> |  | ||||||
| 								<span class="text"> |  | ||||||
| 									<img class="ui tiny avatar image" src="{{.SignedUser.RelAvatarLink}}"> |  | ||||||
| 									<span class="sr-only">{{.i18n.Tr "user_profile_and_more"}}</span> |  | ||||||
| 									<span class="mobile-only">{{.SignedUser.Name}}</span> |  | ||||||
| 									<i class="fitted octicon octicon-triangle-down not-mobile" tabindex="-1"></i> |  | ||||||
| 								</span> |  | ||||||
| 								<div class="menu" tabindex="-1"> |  | ||||||
| 									<div class="ui header"> |  | ||||||
| 										{{.i18n.Tr "signed_in_as"}} <strong>{{.SignedUser.Name}}</strong> |  | ||||||
| 									</div> |  | ||||||
| 
 |  | ||||||
| 									<div class="divider"></div> |  | ||||||
| 									<a class="item" href="{{AppSubUrl}}/{{.SignedUser.Name}}"> |  | ||||||
| 										<i class="octicon octicon-person"></i> |  | ||||||
| 										{{.i18n.Tr "your_profile"}}<!-- Your profile --> |  | ||||||
| 									</a> |  | ||||||
| 									<a class="item" href="{{AppSubUrl}}/{{.SignedUser.Name}}?tab=stars"> |  | ||||||
| 										<i class="octicon octicon-star"></i> |  | ||||||
| 										{{.i18n.Tr "your_starred"}} |  | ||||||
| 									</a> |  | ||||||
| 									<a class="{{if .PageIsUserSettings}}active{{end}} item" href="{{AppSubUrl}}/user/settings"> |  | ||||||
| 										<i class="octicon octicon-settings"></i> |  | ||||||
| 										{{.i18n.Tr "your_settings"}}<!-- Your settings --> |  | ||||||
| 									</a> |  | ||||||
| 									<a class="item" target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io"> |  | ||||||
| 										<i class="octicon octicon-question"></i> |  | ||||||
| 										{{.i18n.Tr "help"}}<!-- Help --> |  | ||||||
| 									</a> |  | ||||||
| 									{{if .IsAdmin}} |  | ||||||
| 										<div class="divider"></div> |  | ||||||
| 
 |  | ||||||
| 										<a class="{{if .PageIsAdmin}}active{{end}} item" href="{{AppSubUrl}}/admin"> |  | ||||||
| 											<i class="icon settings"></i> |  | ||||||
| 											{{.i18n.Tr "admin_panel"}}<!-- Admin Panel --> |  | ||||||
| 										</a> |  | ||||||
| 									{{end}} |  | ||||||
| 
 |  | ||||||
| 									<div class="divider"></div> |  | ||||||
| 									<a class="item" href="{{AppSubUrl}}/user/logout"> |  | ||||||
| 										<i class="octicon octicon-sign-out"></i> |  | ||||||
| 										{{.i18n.Tr "sign_out"}}<!-- Sign Out --> |  | ||||||
| 									</a> |  | ||||||
| 								</div><!-- end content avatar menu --> |  | ||||||
| 							</div><!-- end dropdown avatar menu --> |  | ||||||
| 						</div><!-- end signed user right menu --> |  | ||||||
| 
 |  | ||||||
| 					{{else}} |  | ||||||
| 
 |  | ||||||
| 						<a class="item" target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io">{{.i18n.Tr "help"}}</a> |  | ||||||
| 						<div class="right stackable menu"> |  | ||||||
| 							{{if .ShowRegistrationButton}} |  | ||||||
| 								<a class="item{{if .PageIsSignUp}} active{{end}}" href="{{AppSubUrl}}/user/sign_up"> |  | ||||||
| 									<i class="octicon octicon-person"></i> {{.i18n.Tr "register"}} |  | ||||||
| 								</a> |  | ||||||
| 							{{end}} |  | ||||||
| 							<a class="item{{if .PageIsSignIn}} active{{end}}" href="{{AppSubUrl}}/user/login?redirect_to={{.Link}}"> |  | ||||||
| 								<i class="octicon octicon-sign-in"></i> {{.i18n.Tr "sign_in"}} |  | ||||||
| 							</a> |  | ||||||
| 							<a class="item" href="{{AppSubUrl}}/user/oauth2/GitHub?redirect_to={{.Link}}"> |  | ||||||
| 								{{.i18n.Tr "sign_in_with"}}  <i class="octicon octicon-mark-github"></i> |  | ||||||
| 							</a> |  | ||||||
| 						</div><!-- end anonymous right menu --> |  | ||||||
| 
 |  | ||||||
| 					{{end}} |  | ||||||
| 				</div><!-- end container --> |  | ||||||
| 			</div><!-- end bar --> |  | ||||||
| 		{{end}} |  | ||||||
| {{/* |  | ||||||
| 	</div> |  | ||||||
| </body> |  | ||||||
| </html> |  | ||||||
| */}} |  | ||||||
| @ -1,60 +0,0 @@ | |||||||
| {{template "base/head" .}} |  | ||||||
| <div class="home"> |  | ||||||
| 	<div class="ui stackable middle very relaxed page grid"> |  | ||||||
| 		<div class="sixteen wide center aligned centered column"> |  | ||||||
| 			<div> |  | ||||||
| 				<img class="logo" src="{{AppSubUrl}}/img/gitea-lg.png" /> |  | ||||||
| 			</div> |  | ||||||
| 			<div class="hero"> |  | ||||||
| 				<h1 class="ui icon header title"> |  | ||||||
| 					Let's Code, Decentralized! |  | ||||||
| 				</h1> |  | ||||||
| 				<h2>Login with GitHub or |  | ||||||
|           <br>Register a new account to contribute.</h2> |  | ||||||
| 			</div> |  | ||||||
| 		</div> |  | ||||||
| 	</div> |  | ||||||
|   <div class="ui stackable middle very relaxed page grid"> |  | ||||||
|     <div class="eight wide center column"> |  | ||||||
|       <h1 class="hero ui icon header"> |  | ||||||
|         <i class="octicon octicon-git-branch"></i> Hurrah for Gitea! |  | ||||||
|       </h1> |  | ||||||
|       <p class="large"> |  | ||||||
|         I'm using Gitea, which is likely to become the first decentralized git platform. |  | ||||||
|         Help support decentralization by <a target="_blank" href="https://git.coolaj86.com/coolaj86/gitea-installer.sh">installing gitea</a> for yourself! |  | ||||||
|       </p> |  | ||||||
|     </div> |  | ||||||
|     <div class="eight wide center column"> |  | ||||||
|       <h1 class="hero ui icon header"> |  | ||||||
|         <i class="octicon octicon-circuit-board"></i> Hurrah for RPi! |  | ||||||
|       </h1> |  | ||||||
|       <p class="large"> |  | ||||||
|         Home servers are the only thing that can save us from our centralized overlords. |  | ||||||
|         Gitea can run on a Raspberry Pi. |  | ||||||
|       </p> |  | ||||||
|     </div> |  | ||||||
|   </div> |  | ||||||
|   <div class="ui stackable middle very relaxed page grid"> |  | ||||||
|     <div class="eight wide center column"> |  | ||||||
|       <h1 class="hero ui icon header"> |  | ||||||
|         <i class="octicon octicon-mail"></i> For Neo-Luddites |  | ||||||
|       </h1> |  | ||||||
|       <p class="large"> |  | ||||||
|         Email was the web's first decentralized and distributed protocol. |  | ||||||
|         It may be old news, but its paradigms are the best hope for our futures. |  | ||||||
|         If we don't take back the web soon then GitHub, Facebook, Slack, Medium, etc will dictate our futures for us. |  | ||||||
|       </p> |  | ||||||
|     </div> |  | ||||||
|     <div class="eight wide center column"> |  | ||||||
|       <h1 class="hero ui icon header"> |  | ||||||
|         <i class="octicon octicon-code"></i> Lv. 99 Code Whisperers Welcome |  | ||||||
|       </h1> |  | ||||||
|       <p class="large"> |  | ||||||
|         If you love code more than build tools, we'll make fast friends. :) |  | ||||||
|       </p> |  | ||||||
|     </div> |  | ||||||
|     <!-- should have one more of the above --> |  | ||||||
|   </div> |  | ||||||
|   <!-- the above may be repeated --> |  | ||||||
| </div> |  | ||||||
| {{template "base/footer" .}} |  | ||||||
							
								
								
									
										109
									
								
								install.bash
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										109
									
								
								install.bash
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							| @ -1,33 +1,8 @@ | |||||||
| #!/bin/bash | #!/bin/bash | ||||||
| 
 | 
 | ||||||
| # Most of the code credit for determining version is here: https://gist.github.com/lukechilds/a83e1d7127b78fef38c2914c4ececc3c | # wget -O install-gitea.bash https://git.coolaj86.com/coolaj86/gitea-installer/raw/master/install.bash; bash install-gitea.bash | ||||||
| VER=$(curl --silent "https://api.github.com/repos/go-gitea/gitea/releases/latest" | # Get latest release from GitHub api | # or | ||||||
|     grep '"tag_name":' |                                            # Get tag line | # wget -O - https://git.coolaj86.com/coolaj86/gitea-installer/raw/master/install.bash | bash | ||||||
|     sed -E 's/.*"([^"]+)".*/\1/'    |                               # Pluck JSON value |  | ||||||
|     sed 's|[v,]||g' )                                               # Remove v |  | ||||||
| 
 |  | ||||||
| while [[ $# -gt 0 ]] |  | ||||||
| do |  | ||||||
|   key="$1" |  | ||||||
| 
 |  | ||||||
|   case $key in |  | ||||||
|     -v|version) |  | ||||||
|     VER="$2" |  | ||||||
|     shift # past argument |  | ||||||
|     ;; |  | ||||||
|     *) |  | ||||||
|     # unknown option |  | ||||||
|     if test -z "${unknown}" |  | ||||||
|     then |  | ||||||
|       unknown=$1 |  | ||||||
|     else |  | ||||||
|       echo "Unknown Option" |  | ||||||
|       exit 1 |  | ||||||
|     fi |  | ||||||
|     ;; |  | ||||||
|   esac |  | ||||||
|   shift # past argument or value |  | ||||||
| done |  | ||||||
| 
 | 
 | ||||||
| # Create a 'gitea' user and group with the home /opt/gitea, no password (because it's a system user) and no GECOS | # Create a 'gitea' user and group with the home /opt/gitea, no password (because it's a system user) and no GECOS | ||||||
| sudo adduser gitea --home /opt/gitea --disabled-password --gecos '' | sudo adduser gitea --home /opt/gitea --disabled-password --gecos '' | ||||||
| @ -37,79 +12,19 @@ sudo mkdir -p /opt/gitea/ /var/log/gitea | |||||||
| sudo chown -R gitea:gitea /opt/gitea/ /var/log/gitea | sudo chown -R gitea:gitea /opt/gitea/ /var/log/gitea | ||||||
| 
 | 
 | ||||||
| # Download and install gitea | # Download and install gitea | ||||||
| 
 | my_os=linux | ||||||
|   # Check if architecure is i386 and download Gitea | my_arch=amd64 | ||||||
| if [ -n "$(uname -a | grep i386)" ]; then | sys_arch="$(uname -m)" | ||||||
|     sudo curl -fsSL -o "/opt/gitea/gitea-$VER" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-386" | if [ $(echo $sys_arch | grep arm7) ]; then | ||||||
|  |   my_arch=arm-7 | ||||||
| fi | fi | ||||||
| 
 | sudo wget -O /opt/gitea/gitea https://dl.gitea.io/gitea/1.0.1/gitea-1.0.1-$my_os-$my_arch | ||||||
|   # Check if architecure is x86 and download Gitea | sudo chmod +x /opt/gitea/gitea | ||||||
| if [ -n "$(uname -a | grep x86_64)" ]; then |  | ||||||
|   sudo curl -fsSL -o "/opt/gitea/gitea-$VER" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-amd64" |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| # Check if architecure is ARMv6 and download Gitea |  | ||||||
| if [ -n "$(uname -a | grep armv6l)" ]; then |  | ||||||
|   sudo curl -fsSL -o "/opt/gitea/gitea-$VER" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-arm-6" |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
|   # Check if architecure is ARMv7 and download Gitea |  | ||||||
| if [ -n "$(uname -a | grep armv7l)" ]; then |  | ||||||
|   sudo curl -fsSL -o "/opt/gitea/gitea-$VER" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-arm-7" |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| # Setup Gitea symlink and permissions |  | ||||||
| 
 |  | ||||||
| sudo chmod +x /opt/gitea/gitea-$VER |  | ||||||
| rm -f /opt/gitea/gitea |  | ||||||
| sudo ln -sf gitea-$VER /opt/gitea/gitea |  | ||||||
| sudo ln -sf gitea-$VER /usr/local/bin/gitea |  | ||||||
| 
 | 
 | ||||||
| # Download and install the gitea.service for systemd | # Download and install the gitea.service for systemd | ||||||
| sudo curl -fsSL -o /etc/systemd/system/gitea.service https://git.coolaj86.com/coolaj86/gitea-installer.sh/raw/branch/master/dist/etc/systemd/system/gitea.service | sudo wget -O /etc/systemd/system/gitea.service https://git.coolaj86.com/coolaj86/gitea-installer.sh/raw/master/dist/etc/systemd/system/gitea.service | ||||||
| 
 | 
 | ||||||
| # Start gitea | # Start gitea | ||||||
| sudo systemctl enable gitea |  | ||||||
| 
 |  | ||||||
| ## If this is performing an upgrade it may need extra ram for a limited time |  | ||||||
| # fallocate -l 1G /tmp.swap |  | ||||||
| # mkswap /tmp.swap |  | ||||||
| # chmod 0600 /tmp.swap |  | ||||||
| # swapon /tmp.swap |  | ||||||
| sudo systemctl restart gitea | sudo systemctl restart gitea | ||||||
| 
 | 
 | ||||||
| set +e | echo "Please visit http://localhost:3000/ now to finish installing gitea" | ||||||
| my_ip=$(ifconfig | grep inet | grep Mask | grep -v ':127\\.0\\.0\\.1' | grep -v ':192\\.168'  | grep -v ':10\\.' | head -n 1 | cut -f 2 -d ':' | cut -f 1 -d ' ') |  | ||||||
| my_ip=${my_ip:-localhost} |  | ||||||
| set -e |  | ||||||
| 
 |  | ||||||
| echo "" |  | ||||||
| echo "" |  | ||||||
| echo "###########################" |  | ||||||
| echo "#    Time to Configure    #" |  | ||||||
| echo "###########################" |  | ||||||
| echo "" |  | ||||||
| echo "Just a few more steps to complete at the setup URL:" |  | ||||||
| echo "" |  | ||||||
| echo "        http://$my_ip:3000/" |  | ||||||
| echo "" |  | ||||||
| echo "Future changes can be made by editing the config file:" |  | ||||||
| echo "" |  | ||||||
| echo "        /opt/gitea/custom/conf/app.ini" |  | ||||||
| echo "" |  | ||||||
| echo "" |  | ||||||
| echo "P.S. Would you like to customize Gitea?" |  | ||||||
| echo "" |  | ||||||
| echo "        Read basic instructions:" |  | ||||||
| echo "        https://git.coolaj86.com/coolaj86/gitea-installer.sh/_edit/master/install.bash" |  | ||||||
| echo "" |  | ||||||
| echo "        View current templates:" |  | ||||||
| echo "        https://github.com/go-gitea/gitea/tree/v$VER/templates" |  | ||||||
| echo "" |  | ||||||
| echo "        See a sample app.ini:" |  | ||||||
| echo "        https://github.com/go-gitea/gitea/blob/v$VER/custom/conf/app.ini.sample" |  | ||||||
| echo "" |  | ||||||
| 
 |  | ||||||
| # sleep 5 |  | ||||||
| # swapoff /tmp.swap |  | ||||||
| # rm /tmp.swap |  | ||||||
|  | |||||||
							
								
								
									
										20
									
								
								remove.sh
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								remove.sh
									
									
									
									
									
								
							| @ -1,20 +0,0 @@ | |||||||
| # Gitea Uninstall Script |  | ||||||
| # This script removes Gitea as installed by this script. THIS DELTES ALL DATA if you are using SQLite. |  | ||||||
| 
 |  | ||||||
| echo "Removing Gitea and DELETING ALL DATA." |  | ||||||
| 
 |  | ||||||
| echo "Stopping and removing the Gitea service." |  | ||||||
| sudo systemctl stop gitea # Stop the Gitea service |  | ||||||
| sudo systemctl disable gitea # Disable the Gitea service automatically starting on boot. |  | ||||||
| sudo rm /etc/systemd/system/gitea.service # Delete the Gitea service. |  | ||||||
| 
 |  | ||||||
| echo "Deleting Gitea configuration and Data." |  | ||||||
| 
 |  | ||||||
| sudo rm /usr/local/bin/gitea # Remove Gitea from Path |  | ||||||
| sudo rm -rf /opt/gitea # Remove Gitea Data |  | ||||||
| 
 |  | ||||||
| if test ! -d /opt/gitea |  | ||||||
|    echo "Gitea has been completely removed." |  | ||||||
| else |  | ||||||
|   echo "Gitea has not been completely removed. File an issue here: https://git.coolaj86.com/coolaj86/gitea-installer.sh/issues/new" |  | ||||||
| fi |  | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user