https://github.com/corevo/apm-server
proxy enable installation of atom packages behind firewall
https://github.com/corevo/apm-server
Last synced: 8 months ago
JSON representation
proxy enable installation of atom packages behind firewall
- Host: GitHub
- URL: https://github.com/corevo/apm-server
- Owner: corevo
- License: mit
- Created: 2017-03-30T10:22:42.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-03-30T10:59:36.000Z (about 9 years ago)
- Last Synced: 2025-03-16T08:41:23.040Z (about 1 year ago)
- Language: JavaScript
- Size: 298 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# apm-server
`apm-server` - a proxy that enables installation of atom packages behind a firewall
## About apm-server
[apm](https://github.com/atom/apm) doesn't allow installation of atom packages not through official channels.
`apm-server` lets you install those packages from behind a firewall
## Installation
```bash
# Installation by cloning
$ git clone git@github.com:corevo/apm-server.git
$ npm install
$ npm bulid
$ npm serve
# Proxy Configuration
$ cp .env.sample .env
$ vim .env
# PORT - port to listen on
# NPM_REGISTRY - the sinopia-apm that contains the atom packages, read below
# DOMAIN - the endpoint at which users will reach the proxy
# FEATURED - featured packages to be highlighted in atom's settings
# DEBUG - debug wildcard string application* for my debug logs or * for everything
# Atom configuration
# atom has to be ran with certain env variables to reach the proxy
$ export ATOM_API_URL=http://your-apm-server/api
$ export ATOM_NODE_URL=http://your-apm-server/download/atom-shell
# apm configuration
# If you also use npmjs.org behind firewall you need to configure apm in the same manner
$ apm config set registry http://your-internal-npm-registry
```
The `ATOM_NODE_URL` is used for [atom-shell](https://atom.io/download/atom-shell/v0.36.8/SHASUMS256.txt)
atom needs to download the respective shell in order to install packages
### Important Note about NPM_REGISTRY
Since some atom packages have the same name as other npm packages.
e.g. [react](https://github.com/facebook/react) and [atom-react](https://github.com/orktes/atom-react) have the same name in their `package.json` and need to be stored in different npm registries, you would store `atom-react` here, while storing react in any other means.
Also atom packages have more required tags in their `package.json` so in order for that to work you need to use my fork of [sinopia](https://github.com/corevo/sinopia)