Git-based, password-protected private Pub server.
mpp is pretty minimal, and requires setup, but gets the job done.
mpp is built using
a powerful, production-ready backend framework
in Dart. Consider checking it out if you like
How it works
mpp is a bare-minimum implementation of the Pub server API. It can be
configured to fetch package sources from remote Git URL's, and redirects any
other request to
For example, if you set up
hello to mirror
you can include
package:hello in your own packages, provided that you set up
Pub correctly (either via
PUB_HOSTED_URL, or explicit
mpp is password-protected, so third parties and malicious parties have no access to
your private Dart code. For this to work,
For example, if you have a user
foo with password
mpp is running at
localhost:3000, you could run the following:
And then commands like
pub get and
pub upgrade would work, seamlessly.
pub global activate mpp
mpp is not a globally-installed package, so expect to the following generated
in the working directory:
Running the Server
Starts a server at
http://localhost:3000 by default, running
as many instances as you have available processor cores:
To see options, i.e. port, etc.:
mpp auth -u foo -p bar
Hosting a Package
mpp mirror -n <package_name> -u <git url>
Deployment is very much an open-ended process, and thus won't be covered in great detail here. In general, though, the minimal steps are:
- Install Dart.
- Using the
mppcommand line, create as many user accounts as is necessary.
- Using the
mppcommand line, mark repositories to be mirrored.
However, you might also consider:
- Configuring HTTPS
- Using a reverse proxy
- Running as a daemon (i.e., using