forked from benschw/satis-go
-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.html
152 lines (130 loc) · 6.23 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
<!DOCTYPE html>
<html>
<head>
<title>Satis-go</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap core CSS -->
<link href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet" media="screen">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="http://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.js"></script>
<![endif]-->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-46191138-1', 'fliglio.com');
ga('require', 'displayfeatures');
ga('send', 'pageview');
</script>
</head>
<body>
<a href="https://github.com/benschw/satis-go"><img style="position: absolute; top: 0; right: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png" alt="Fork me on GitHub"></a>
<div class="container">
<div class="jumbotron">
<h1>satis-go</h1>
<p>
Satis-go is a web server for hosting and managing your <a href="https://github.com/composer/satis">Satis Repository</a> for <a href="https://getcomposer.org/">Composer Packages</a>
</p>
</div>
<div class="panel panel-default">
<div class="panel-heading">Releases</div>
<div class="panel-body">
<ul class="list-group">
<li class="list-group-item">
<a class="btn btn-success" role="button" href="https://github.com/benschw/satis-go/releases/tag/0.1.1">satis-go 0.1.1 release</a> webserver
</li>
<li class="list-group-item">
<a class="btn btn-success" role="button" href="https://github.com/benschw/satis-admin/releases/tag/0.1.1">satis-admin 0.1.1 release</a> static web app for admin
</li>
</ul>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">Features</div>
<div class="panel-body">
<ul>
<li>
Satis-go provides a simple user interface for managing the repositories you want to track in your Composer package repo
</li>
<li>
Repo generation is delegated to <a href="https://github.com/composer/satis">Satis</a> so your package repository will stay up to date with composer specs
</li>
<li>
No database required: the satis config file is managed directly while still managing writes and reads safely
</li>
<li>
In fact, satis is the only dependency: satis-go is written in go and only relys on having the `satis` build executable in your path. Download to /opt/satis-go/ and you're done installing.
</li>
<li>
RESTful API so you and integrate this into your CI
</li>
</ul>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">Roadmap</div>
<div class="panel-body">
<ul>
<li>
Add support for managing which versions to track via. the "require" config option (currently you are forced to "require-all")
</li>
</ul>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">Getting Started</div>
<div class="panel-body">
<p>Get Composer/Satis and install in path</p>
<pre>
apt-get install -y php5-cli
curl -sS https://getcomposer.org/installer | php
php ./composer.phar create-project composer/satis /opt/satis --stability=dev --keep-vcs
ln -s /opt/satis/bin/satis /usr/local/bin/satis
</pre>
<p>Install satis-go server & config</p>
<pre>
mkdir /opt/satis-go
wget -qO- https://github.com/benschw/satis-go/releases/download/0.1.1/satis-go-`uname`-`uname -m`.gz | \
gunzip > /opt/satis-go/satis-go
chmod +x /opt/satis-go/satis-go
wget -qO- https://github.com/benschw/satis-go/releases/download/0.1.1/config.yaml > \
/opt/satis-go/config.yaml
</pre>
<p>Install admin ui for satis-go server</p>
<pre>
wget -qO- https://github.com/benschw/satis-admin/releases/download/0.1.1/admin-ui.tar.gz | \
tar xzv -C /opt/satis-go/
</pre>
<p>Start the server</p>
<pre>
/opt/satis-go/satis-go
</pre>
<p>
Now you can navigate to <a href="http://localhost:8080/admin">http://localhost:8080/admin</a> and start adding repos!
</p>
<p>
Use the REST api to create a source control web-hook which will refresh your repository: curl -X POST http://localhost:8080/api/generate-web-job
</p>
<p>
If you want to be able to use this on something other than "localhost", update /opt/satis-go/config.yaml to "bind" on something like "0.0.0.0:8080" and "repohost" to be whatever name you are pointing at this server.
</p>
</div>
</div>
</div>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-46191138-1', 'auto');
ga('send', 'pageview');
</script>
</body>
</html>