diff --git a/ChangeLog.md b/ChangeLog.md
new file mode 100644
--- /dev/null
+++ b/ChangeLog.md
@@ -0,0 +1,3 @@
+# Changelog for haskell-admin
+
+## Unreleased changes
diff --git a/LICENSE b/LICENSE
new file mode 100644
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,20 @@
+Copyright (c) 2022 Martin Bednar
+
+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.
diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,8 @@
+# haskell-admin
+
+_Remote management platform for Haskell Applications_
+
+_See the top-level [README.md](https://github.com/martin-bednar/haskell-admin#readme) for an overview of the entire Haskell Admin project._
+
+This package aggregates the core functionality of Haskell Admin server with some recommended components.
+It should help you quickly set up Haskell Admin to remotely manage your application.
diff --git a/Setup.hs b/Setup.hs
new file mode 100644
--- /dev/null
+++ b/Setup.hs
@@ -0,0 +1,3 @@
+import Distribution.Simple
+
+main = defaultMain
diff --git a/haskell-admin.cabal b/haskell-admin.cabal
new file mode 100644
--- /dev/null
+++ b/haskell-admin.cabal
@@ -0,0 +1,46 @@
+cabal-version: 1.12
+
+-- This file has been generated from package.yaml by hpack version 0.34.4.
+--
+-- see: https://github.com/sol/hpack
+
+name:           haskell-admin
+version:        1.0.0.0
+synopsis:       Remote Management Platform for Haskell Applications
+description:    Please see the README on GitHub at <https://github.com/martin-bednar/haskell-admin#readme>
+category:       Remote Management
+homepage:       https://github.com/martin-bednar/haskell-admin#readme
+bug-reports:    https://github.com/martin-bednar/haskell-admin/issues
+author:         Martin Bednar
+maintainer:     bednam17@fit.cvut.cz
+copyright:      2022 Martin Bednar
+license:        MIT
+license-file:   LICENSE
+build-type:     Simple
+extra-source-files:
+    README.md
+    ChangeLog.md
+
+source-repository head
+  type: git
+  location: https://github.com/martin-bednar/haskell-admin
+
+library
+  exposed-modules:
+      Admin
+      Admin.Component.Health
+      Admin.Component.Managed
+      Admin.Components.All
+  other-modules:
+      Paths_haskell_admin
+  hs-source-dirs:
+      src
+  ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -Wpartial-fields -Wmonomorphism-restriction -Wmissing-home-modules -Widentities -Wredundant-constraints -Wmissing-export-lists
+  build-depends:
+      base >=4.7 && <5
+    , bytestring
+    , haskell-admin-core
+    , haskell-admin-health
+    , haskell-admin-managed-functions
+    , wai
+  default-language: Haskell2010
diff --git a/src/Admin.hs b/src/Admin.hs
new file mode 100644
--- /dev/null
+++ b/src/Admin.hs
@@ -0,0 +1,18 @@
+module Admin
+  ( admin
+  , with
+  ) where
+
+import Admin.Components
+import Admin.Server (adminApp)
+import Data.ByteString.Char8 (ByteString)
+import Network.Wai (Application)
+
+-- | Create WAI application containing the Haskell Admin server 
+-- based on the provided Components and authentication tokens
+admin ::
+     Components components names api
+  => [ByteString]
+  -> components
+  -> Application
+admin tokens c = adminApp c tokens
diff --git a/src/Admin/Component/Health.hs b/src/Admin/Component/Health.hs
new file mode 100644
--- /dev/null
+++ b/src/Admin/Component/Health.hs
@@ -0,0 +1,7 @@
+{-# LANGUAGE PackageImports #-}
+
+module Admin.Component.Health
+  ( module Health
+  ) where
+
+import "haskell-admin-health" Admin.Component.Health as Health
diff --git a/src/Admin/Component/Managed.hs b/src/Admin/Component/Managed.hs
new file mode 100644
--- /dev/null
+++ b/src/Admin/Component/Managed.hs
@@ -0,0 +1,7 @@
+{-# LANGUAGE PackageImports #-}
+
+module Admin.Component.Managed
+  ( module Managed
+  ) where
+
+import "haskell-admin-managed-functions" Admin.Component.Managed as Managed
diff --git a/src/Admin/Components/All.hs b/src/Admin/Components/All.hs
new file mode 100644
--- /dev/null
+++ b/src/Admin/Components/All.hs
@@ -0,0 +1,7 @@
+module Admin.Components.All
+  ( module Admin.Component.Health
+  , module Admin.Component.Managed
+  ) where
+
+import Admin.Component.Health
+import Admin.Component.Managed
