apps: app repository
diff --git a/apps/app-repository/cmd/main.go b/apps/app-repository/cmd/main.go
new file mode 100644
index 0000000..f9a5f95
--- /dev/null
+++ b/apps/app-repository/cmd/main.go
@@ -0,0 +1,24 @@
+package main
+
+import (
+	"flag"
+	"log"
+	"os"
+
+	"github.com/giolekva/pcloud/apps/apprepo"
+)
+
+var port = flag.Int("port", 8080, "Port to listen on")
+var appsDir = flag.String("apps-dir", "./apps", "Directory listing application archives")
+var schemeWithHost = flag.String("scheme-with-host", "", "http://localhost:8080")
+
+func main() {
+	flag.Parse()
+	l := apprepo.NewFSLoader(os.DirFS(*appsDir))
+	apps, err := l.Load()
+	if err != nil {
+		log.Fatal(err)
+	}
+	s := apprepo.NewServer(*schemeWithHost, *port, apps)
+	log.Fatal(s.Start())
+}