Got this working in a docker container with node v0.10.48
./build-docker.sh
docker run --rm -p 27017-27019:27017-27019 -p 3000:3000 --name marmalade scotthaleen/marmalade:0.0.4
Navigate: localhost:3000
Marmalade is an Emacs Lisp package server that allows authors to easily upload their
packages. It follows the protocol expected by package.el
, the standard Emacs
package manager, and so can be used in conjunction with the official GNU
repository or the original ELPA
repository.
Marmalade is designed to be easy to get up and running on your own server. It only takes six steps:
- Install node.js.
- Install the Node package manager.
- Install MongoDB.
hg clone https://marmalade.googlecode.com/hg/ marmalade
npm install ./marmalade
marmalade
To use Marmalade, you first need package.el
. If you're using Emacs 24 or later,
you've already got it. Otherwise, download it from
here
(currently the official ELPA package.el
doesn't support multiple archives).
Add this line to your .emacs
:
(add-to-list 'package-archives '("marmalade" . "http://your.domain/packages/"))
Your archive is now active! Run M-x package-list
and see all the new packages,
and run M-x package-install
to install them.
The primary goal of Marmalade is to make it easy to distribute Emacs Lisp code.
Because Marmalade uses package.el
's package format, it's easy to package
existing Elisp code. In addition, anyone can post packages to Marmalade, either
via the website or via the API.
Emacs Lisp is unusual in that there's a lot of code out there that is useful but no longer actively maintained. To make this code more widely available, users are encouraged to upload even packages they didn't write (as long as those packages allow redistribution). Marmalade makes it easy to add the original author as an owner should they take an interest in the package.