Skip to content

Latest commit

 

History

History
91 lines (62 loc) · 4.45 KB

INSTALL.md

File metadata and controls

91 lines (62 loc) · 4.45 KB

Install Open Source Event Manager

Here is what you need to install OSEM for production usage.

💥💥💥 WARNING 💥💥💥

explosions

OSEM is a Ruby on Rails server application for professional use, not some desktop app you run for yourself. If you deploy it, YOU are responsible for the data that users enter into it, this data includes personal information like email addresses and/or passwords that most likely can be used to harm them in some form (cracking, doxing, social engineering).

If you never deployed a Ruby on Rails app before we strongly suggest you seek help from someone who has. That someone is NOT the OSEM team so please do NOT open an issue expecting us to explain how to do this.

You should know what you do and you have been warned.

Versions

OSEM is an semantic versioned app. That means given a version number MAJOR.MINOR.PATCH we increment the:

  1. MAJOR version when we make incompatible changes,
  2. MINOR version when we add functionality in a backwards-compatible manner
  3. PATCH version when we make backwards-compatible bug fixes

Download

You can find the latest OSEM releases on our release page

Deploy to the cloud

The easiest way to deploy OSEM is to use one of the many platform as a service providers that support ruby on rails. We have prepared OSEM to be used with heroku. So if you have an account there, you can deploy OSEM by pressing this button:

Deploy

Deploy to your own server

We recommend to run OSEM in production with mod_passenger and the apache web-server. There are tons of guides on how to deploy rails apps on various base operating systems. Check Google. Of course there are also other options for the application server and reverse proxy, pick your poison.

Deploy via docker/docker-compose

There is a rudimentary docker-compose configuration for production usage (docker-compose.yml.production-example). It brings OSEM up on port 8080. It uses persistent storage volumes for all the data users might create. You can start it with

  1. Configure OSEM (at least SECRET_KEY_BASE)
    cp dotenv.example .env.production
    vim .env.production
    
  2. Build the container image (every time you change code or config)
    docker-compose -f docker-compose.yml.production-example build
    
  3. Setup the database (only once)
    docker-compose -f docker-compose.yml.production-example run --rm production_web bundle exec rake db:bootstrap
    
  4. Start the services
    docker-compose -f docker-compose.yml.production-example up
    

Configuration

OSEM is configured through environment variables and falls back to sensible defaults. See the dotenv.example for all possible configuration options. However here is a list of things you most likey want to configure because otherwise things will not work as expected.

SECRET_KEY_BASE

A random string to encrypt sessions/cookies.

OSEM_NAME

The name of your OSEM installation

How to send emails

By default OSEM tries to send emails over localhost.

OSEM_HOSTNAME

The host this OSEM instance runs on. This is used for generating urls in emails sent.

OSEM_EMAIL_ADDRESS

The address OSEM uses to sending mails from.

OSEM_SMTP_ADDRESS

The mail server we send mail over. (default: localhost)

OSEM_SMTP_AUTHENTICATION

If your mail server requires authentication, you need to specify the authentication type here. This is a symbol and one of :plain (will send the password in the clear), :login (will send password Base64 encoded) or :cram_md5 (combines a Challenge/Response mechanism to exchange information and a cryptographic Message Digest 5 algorithm to hash important information)

OSEM_SMTP_USERNAME

If your mail server requires authentication, set the username in this setting.

OSEM_SMTP_PASSWORD

If your mail server requires authentication, set the password in this setting.