Baikal2
Baikal2 copied to clipboard
Baïkal 2 is a Calendar+Contacts server + web client
Baïkal 2 - CalDAV+CardDAV Server Application
Please note, Baïkal 2 development has for the most part halted. Active development is still going on, but on the original Baikal repository.
Demo
Have a look at the running demo here : http://baikal2.scalingo.io (Hosting graciously provided by Scalingo).
Contribute !
Fellow backend and frontend developers, we need your help !
The roadmap to version 2.0 is here: https://github.com/netgusto/Baikal/milestones/Ba%C3%AFkal%202.0.0
If you want to help, and you have a strong experience in Symfony, ReactJS, HTML/CSS, or anything else you think could be useful, please contact us at [email protected] or on Twitter http://twitter.com/BaikalServer
Screenshots
Admin Dashboard

User management

Calendar web client, week view (full-featured)

Calendar web client, month view (read-only for now)

Contact web client (read-only for now)

Installation: PAAS
Scalingo (ex Appsdeck)
Scalingo is the trendy European PAAS provider. See their offer here https://scalingo.com
git clone -b branch-2 https://github.com/netgusto/Baikal.git- Create your Scalingo application (let's say we call it my-baikal)
- Add the MySQL addon to your container
cd Baikalgit remote add scalingo [email protected]:my-baikal.gitgit push scalingo branch-2:master- Once the app has booted, open http://my-baikal.scalingo.io in your web browser.
- Log in using the default account created during initialization (username: admin, password: password).
- First thing to do then is to change your password (Upper right corner of the screen: My profile).
- Et voilà !
One Click Deploy
Or you can even deploy Baikal without any configuration:
Heroku
Heroku is the leading American PAAS provider. See their offer here http://heroku.com
git clone -b branch-2 https://github.com/netgusto/Baikal.git- Create your Heroku app (let's say we call it my-baikal)
cd Baikal- Bind your app to Heroku:
heroku git:remote -a my-baikal - Add the PostgreSQL addon to your app:
heroku addons:add heroku-postgresqland note the name of your database (something likeHEROKU_POSTGRESQL_AMBER_URL) - Promote the database:
heroku pg:promote HEROKU_POSTGRESQL_AMBER_URL(replaceHEROKU_POSTGRESQL_AMBER_URLwith the name Heroku just gave you on the previous line) - Declare the PHP buildpack:
heroku config:set BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-php - Deploy:
git push heroku branch-2:master - Once the app has booted, open http://my-baikal.herokuapp.com in your web browser.
- Log in using the default account created during initialization (username: admin, password: password).
- First thing to do then is to change your password (Upper right corner of the screen: My profile).
- Et voilà !
Installation: Classic platform (not PAAS)
Production setup
Note: for now, composer is required for the installation.
# 1. Install composer if not already installed: <https://getcomposer.org/download/>
# 2. Clone the Baïkal 2 source code
$ git clone -b branch-2 https://github.com/netgusto/Baikal.git
# 4. Enter the Baikal folder
$ cd Baikal
# 5. Initialize the application settings
$ cp app/config/defaults/data.parameters.dist.yml data/parameters.yml
$ cp app/config/defaults/data.environment.dist.yml data/environment.yml
# 6. Configure your database connection in data/environment.yml
# // open 'data/environment.yml', uncomment and edit the DATABASE_URL variable
# // By default, Baïkal will use a SQLite database stored in 'data/database.db'
# 7. Install Baïkal PHP dependencies, and initialize Baïkal
# // at the root of the project
$ composer install --optimize-autoloader
# 10. Boot the PHP built-in server (just to test the app; in production, use an HTTP server like Apache or nginx)
$ php app/console server:run --env=prod
And then open http://localhost:8000 in your web browser.
Log in using the default account created during initialization (username: admin, password: password).
First thing to do then is to change your password (Upper right corner of the screen: My profile).
Development setup
Note: composer, npm, bower and grunt are required for development.
# 1. Install composer if not already installed: <https://getcomposer.org/download/>
# 2. Install node + npm for your system if not already installed: <http://nodejs.org/download/>
# 3. Clone the Baïkal2 source code
$ git clone -b branch-2 https://github.com/netgusto/Baikal.git
# 4. Enter the Baikal folder
$ cd Baikal
# 5. Initialize the application settings
$ cp app/config/defaults/data.parameters.dist.yml data/parameters.yml
$ cp app/config/defaults/data.environment.dist.yml data/environment.yml
# 6. Configure your database connection in data/environment.yml
# // open 'data/environment.yml', uncomment and edit the DATABASE_URL variable
# // By default, Baïkal will use a SQLite database stored in 'data/database.db'
# 7. Install Baïkal PHP dependencies, and initialize Baïkal
# // at the root of the project
$ composer install --optimize-autoloader
# 8. Install required node packages in the global scope:
$ sudo npm install -g bower grunt-cli
# 9. Unpack subprojects
$ npm run unpack
# 10. Boot the development server
$ npm run dev
And then open http://localhost:8000 in your web browser.
Log in using the default account created during initialization (username: admin, password: password).
First thing to do then is to change your password (Upper right corner of the screen: My profile).
Packaging for release
If you modified the frontend apps (located in web/apps/), make sure to build them before release:
$ npm run build
Roadmap
- Add unit tests
- Add "Todo list" feature
- Add "Notes" feature ?
- Add Import
- Add export
- Add calendar sharing
- Review Baïkal 1 github feature requests, and implement the most demanded ones.
If you are willing to participate, and know your way in whatever domain you want to help, please feel free to mail me at [email protected] (I have little time so please do not lose your patience if I don't answer :p)
Calendar and Contacts client subscription
Apple Calendar And Apple Contacts
For both http and https
- "Add account ..."
- Select "Manual"
- login: your Baïkal username
- pass: your password
- Host:
http://localhost:8000/orhttps://localhost:8000/(http:// or https://)- Note the required trailing slash; if missing, Apple Calendar will not be able to autoconnect to Baïkal