Install Open Source Event Manager
Here is what you need to install OSEM for production usage.
💥 💥 💥 WARNING 💥 💥 💥
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:
- MAJOR version when we make incompatible changes,
- MINOR version when we add functionality in a backwards-compatible manner
- 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 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
- Configure OSEM (at least
SECRET_KEY_BASE
)cp dotenv.example .env.production vim .env.production
- Build the container image (every time you change code or config)
docker-compose -f docker-compose.yml.production-example build
- Setup the database (only once)
docker-compose -f docker-compose.yml.production-example run --rm production_web bundle exec rake db:bootstrap
- 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 likely 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.