Giter Club home page Giter Club logo

Server

Server implements the server side of the Moln service. It provides features similar to OwnCloud including multiple user accounts, file sync, and much more.

Features

  • [DONE] Multiple user accounts
  • [DONE] Account access from devices
  • [DONE] Account access logs
  • [] File sync
  • [] Calendar sync
  • [] Address book sync
  • [DONE] Task manager

Running and Deploying

Prerequisites

  1. Install Redis.
  2. Go(only the development machine needs Go).
  3. The Foreman tool(only the development machine needs it).
  4. A clone of the server code in the GOPATH(git clone [email protected]:moln/server $GOPATH/src/github.com/moln/server).

Running a Development Server

  1. Run the dev script ./dev.

This script will build the server, create any directories needed, and start the servers with the Foreman tool(including the Redis server).

Deploying to a Production Server

  1. Configure port 80 to reroute to 3000.
  2. Create directories /mnt/www/moln, /data, /var/log/moln, and /var/log/redis.
  3. Create files /etc/init/redis-server.conf and /etc/init/moln.conf.
  4. Make sure the directories and files created above can be written to by the user.
  5. Make sure the redis-server and moln upstart process can be started and stopped by the user.
  6. Run the deploy script ./deploy <user@host...>.

This script will do the following for each given server:

  • build the binary for the servers arch(on the development machine)
  • copy the binary and the config directory to appropriate place
  • copy the upstart scripts to the appropriate place
  • restart redis-server, and moln upstart processes

Notes:

  • The servers being deployed to are assumed to be Unix based.
  • When running in production mode on Windows, Redis connects to a UNIX Socket; so you may encounter errors.

TLS

So the deployment process above is for standard HTTP, if you want to secure your servers traffic, add the following to your production configuration(config/production.json).

{
  "TLS": {
    "Key": "/path/to/server.key",
    "Cert": "/path/to/server.crt"
  }
}

Then instead of redirecting port 80's traffic to port 3000, redirect port 443.

Developers

If you're interested in how the API works, or interested in building or contributing to a Moln client you should read the API.md file included.

License

MIT licensed, see here

Moln's Projects

Moln doesnโ€™t have any public repositories yet.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.