docs: update a bunch of docs (#3822)
@@ -1,43 +1,38 @@
|
||||
# Contribute as a developer
|
||||
# Contribute as a developer <!-- omit in toc -->
|
||||
|
||||
<!-- TOC -->
|
||||
|
||||
- [Contribute as a developer](#contribute-as-a-developer)
|
||||
- [Considerations](#considerations)
|
||||
- [Design rules](#design-rules)
|
||||
- [Install Monica locally](#install-monica-locally)
|
||||
- [Homestead (macOS, Linux, Windows)](#homestead-macos-linux-windows)
|
||||
- [Valet (macOS)](#valet-macos)
|
||||
- [Instructions](#instructions)
|
||||
- [Testing environment](#testing-environment)
|
||||
- [Setup](#setup)
|
||||
- [Run the test suite](#run-the-test-suite)
|
||||
- [Run browser tests](#run-browser-tests)
|
||||
- [Mocking HTTP calls](#mocking-http-calls)
|
||||
- [Coding guidelines](#coding-guidelines)
|
||||
- [Feature branch](#feature-branch)
|
||||
- [Conventional commits](#conventional-commits)
|
||||
- [Backend](#backend)
|
||||
- [Things to consider when adding new code](#things-to-consider-when-adding-new-code)
|
||||
- [Add a new table to the database schema](#add-a-new-table-to-the-database-schema)
|
||||
- [Manipulating data during a migration](#manipulating-data-during-a-migration)
|
||||
- [Email testing](#email-testing)
|
||||
- [Email reminders](#email-reminders)
|
||||
- [Statistics](#statistics)
|
||||
- [Database](#database)
|
||||
- [Connecting to mySQL](#connecting-to-mysql)
|
||||
- [Front-end](#front-end)
|
||||
- [Considerations](#considerations-1)
|
||||
- [Mix](#mix)
|
||||
- [Watching and compiling assets](#watching-and-compiling-assets)
|
||||
- [CSS](#css)
|
||||
- [JS and Vue](#js-and-vue)
|
||||
- [Localization (i18n)](#localization-i18n)
|
||||
- [Application](#application)
|
||||
- [Laravel](#laravel)
|
||||
- [VueJS](#vuejs)
|
||||
|
||||
<!-- /TOC -->
|
||||
- [Considerations](#considerations)
|
||||
- [Design rules](#design-rules)
|
||||
- [Install Monica locally](#install-monica-locally)
|
||||
- [Homestead (macOS, Linux, Windows)](#homestead-macos-linux-windows)
|
||||
- [Valet (macOS)](#valet-macos)
|
||||
- [Instructions](#instructions)
|
||||
- [Testing environment](#testing-environment)
|
||||
- [Setup](#setup)
|
||||
- [Run the test suite](#run-the-test-suite)
|
||||
- [Run browser tests](#run-browser-tests)
|
||||
- [Mocking HTTP calls](#mocking-http-calls)
|
||||
- [Coding guidelines](#coding-guidelines)
|
||||
- [Feature branch](#feature-branch)
|
||||
- [Conventional commits](#conventional-commits)
|
||||
- [Backend](#backend)
|
||||
- [Things to consider when adding new code](#things-to-consider-when-adding-new-code)
|
||||
- [Add a new table to the database schema](#add-a-new-table-to-the-database-schema)
|
||||
- [Manipulating data during a migration](#manipulating-data-during-a-migration)
|
||||
- [Email testing](#email-testing)
|
||||
- [Email reminders](#email-reminders)
|
||||
- [Statistics](#statistics)
|
||||
- [Database](#database)
|
||||
- [Connecting to mySQL](#connecting-to-mysql)
|
||||
- [Front-end](#front-end)
|
||||
- [Considerations](#considerations-1)
|
||||
- [Mix](#mix)
|
||||
- [Watching and compiling assets](#watching-and-compiling-assets)
|
||||
- [CSS](#css)
|
||||
- [JS and Vue](#js-and-vue)
|
||||
- [Localization (i18n)](#localization-i18n)
|
||||
- [Application](#application)
|
||||
- [Laravel](#laravel)
|
||||
- [VueJS](#vuejs)
|
||||
|
||||
Are you interested in giving a hand? We can't be more excited about it. Thanks in advance!
|
||||
|
||||
@@ -148,7 +143,7 @@ To run the test suite:
|
||||
Browsers tests simulate user interactions in a live browser.
|
||||
|
||||
* To run browser tests, first you need to install chrome
|
||||
```
|
||||
```sh
|
||||
curl -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add
|
||||
echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list
|
||||
sudo apt -y update
|
||||
@@ -343,7 +338,7 @@ For everything that is in VueJS though, things are a bit different. We have to u
|
||||
You can use these replacements instead of the regular (php) definition:
|
||||
* `trans('file.string')` is writen `$t('file.string')`.
|
||||
* `trans('file.string', ['param' => $value])` is writen `$t('file.string', {param: value})`.
|
||||
* `trans_choice('file.string', $count)` is writen `$tc('file.string', count)`.
|
||||
* `trans_choice('file.string', $count)` is writen `$tc('file.string', count)` or `$tc('file.string', count, {param: value})`.
|
||||
|
||||
Important note: every time a string changes in a translation file, you need to regenerate all the strings so they can be made available in JS. To do this,
|
||||
* use `php artisan lang:generate`
|
||||
|
||||
@@ -1,27 +1,19 @@
|
||||
# External translators
|
||||
# External translators <!-- omit in toc -->
|
||||
|
||||
<!-- vscode-markdown-toc -->
|
||||
- [External translators](#external-translators)
|
||||
- [Crowdin](#crowdin)
|
||||
- [Support a new language](#support-a-new-language)
|
||||
- [Rules](#rules)
|
||||
- [With Laravel](#with-laravel)
|
||||
- [With Vue.js](#with-vuejs)
|
||||
- [Rules for translation](#rules-for-translation)
|
||||
- [Punctuation](#punctuation)
|
||||
|
||||
<!-- vscode-markdown-toc-config
|
||||
numbering=false
|
||||
autoSave=true
|
||||
/vscode-markdown-toc-config -->
|
||||
<!-- /vscode-markdown-toc -->
|
||||
- [Crowdin](#crowdin)
|
||||
- [Support a new language](#support-a-new-language)
|
||||
- [Rules](#rules)
|
||||
- [With Laravel](#with-laravel)
|
||||
- [With Vue.js](#with-vuejs)
|
||||
- [Rules for translation](#rules-for-translation)
|
||||
- [Punctuation](#punctuation)
|
||||
|
||||
First of all, thanks a lot for considering helping the project by translating it. We truly appreciate it.
|
||||
|
||||
## <a name='Crowdin'></a>Crowdin
|
||||
## Crowdin
|
||||
All translations are done with [crowdin](https://crowdin.com/project/monicahq) - we'd like to thank them for their gracious help with this project by providing us a free account.
|
||||
|
||||
## <a name='Supportanewlanguage'></a>Support a new language
|
||||
## Support a new language
|
||||
|
||||
You can [open an issue](https://github.com/monicahq/monica/issues/new) to request a new language.
|
||||
|
||||
@@ -35,11 +27,11 @@ To enable a new language in Monica:
|
||||
|
||||
Then, submit your PR for review. A good example of adding a new locale can [be found here](https://github.com/monicahq/monica/pull/3356).
|
||||
|
||||
## <a name='Rules'></a>Rules
|
||||
## Rules
|
||||
|
||||
Translation appears in two types of files in the codebase: in Laravel (php) and VueJS.
|
||||
|
||||
### <a name='WithLaravel'></a>With Laravel
|
||||
### With Laravel
|
||||
|
||||
- **simple string**
|
||||
- **string with parameters**: see [laravel doc](https://laravel.com/docs/5.6/localization#replacing-parameters-in-translation-strings).
|
||||
@@ -49,7 +41,7 @@ Translation appears in two types of files in the codebase: in Laravel (php) and
|
||||
Example: `1 message|:count messages` => `:count message|:count messages`, or: `{1}:count message|[2,*]:count messages`
|
||||
- **format strings**: we use [Carbon](http://carbon.nesbot.com/docs/#api-commonformats) to handle dates. [format.php](https://github.com/monicahq/monica/blob/master/resources/lang/en/format.php) file contains format we use to export dates as strings in the right localized format. See [php doc](http://www.php.net/manual/en/function.date.php) to know which format you can use.
|
||||
|
||||
### <a name='WithVue.js'></a>With Vue.js
|
||||
### With Vue.js
|
||||
|
||||
We use the [vue-i18n](https://www.npmjs.com/package/vue-i18n) package.
|
||||
|
||||
@@ -62,11 +54,11 @@ We use the [vue-i18n](https://www.npmjs.com/package/vue-i18n) package.
|
||||
Pluralization is customized in the [pluralization.js](https://github.com/monicahq/monica/blob/master/resources/js/pluralization.js) file. This should fit your language pluralization form. Messages must be separated by a pipe, but you cannot define the number of occurences it applies to like with Laravel translation (no brackets or braces).
|
||||
Example: `1 message|{count} messages` => `{count} message|{count} messages` in French, or: `{count}条消息` in Chinese (only 1 form)
|
||||
|
||||
## <a name='Rulesfortranslation'></a>Rules for translation
|
||||
## Rules for translation
|
||||
|
||||
Please respect typographic rules in your language.
|
||||
|
||||
### <a name='Punctuation'></a>Punctuation
|
||||
### Punctuation
|
||||
|
||||
See https://en.wikipedia.org/wiki/Punctuation
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 5.3 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
@@ -9,7 +9,6 @@ This doc is the main source of documentation for developers working with (or con
|
||||
* Install Monica on your server
|
||||
* [Install a new instance](/docs/installation/index.md)
|
||||
* [Maintain your server](/docs/installation/update.md)
|
||||
* [Enable mobile application connection](/docs/installation/mobile.md)
|
||||
* Contribute to Monica
|
||||
* [Contribute as a developer](/docs/contribute/index.md)
|
||||
* [Help translate the application](/docs/contribute/translate.md)
|
||||
@@ -30,6 +29,7 @@ Those companies have graciously offered a paid plan for free.
|
||||
|----------------------------------|-----------------------------------------------------------------------------------------------|
|
||||
| Sentry | [Sentry](https://sentry.io) is a cross-platform crash reporting and aggregation platform. We use it to analyze what's going on in production. |
|
||||
| Crowdin | [Crowdin](https://crowdin.com/project/monicahq) is a translation platform. |
|
||||
| Cypress | [Cypress](https://dashboard.cypress.io/projects/q8h6k9/runs) is an end-to-end test platform. |
|
||||
|
||||
### Open source projects
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# Installing Monica (Generic)
|
||||
# Installing Monica (Generic) <!-- omit in toc -->
|
||||
|
||||
Monica can be installed on a variety of platforms. The choice of the platform is yours.
|
||||
|
||||
- [Requirements](#requirements)
|
||||
- [Installation instructions for specific platforms](#installation-instructions-for-specific-platforms)
|
||||
- [Generic Linux instructions](#generic-linux-instructions)
|
||||
- [Extract instructions](#extra-instructions)
|
||||
- [Platforms](#platforms)
|
||||
- [Generic Linux instructions](#generic-linux-instructions)
|
||||
- [Platforms](#platforms)
|
||||
- [Other documentation](#other-documentation)
|
||||
|
||||
<a id="markdown-requirements" name="requirements"></a>
|
||||
## Requirements
|
||||
@@ -22,23 +22,26 @@ If you don't want to use Docker, the best way to setup the project is to use the
|
||||
<a id="markdown-installation-instructions-for-specific-platforms" name="installation-instructions-for-specific-platforms"></a>
|
||||
## Installation instructions for specific platforms
|
||||
|
||||
The preferred OS distribution is Ubuntu 16.04, simply because all the development is made on it and we know it works. However, any OS that lets you install the above packages should work.
|
||||
The preferred OS distribution is Ubuntu 18.04, simply because all the development is made on it and we know it works. However, any OS that lets you install the above packages should work.
|
||||
|
||||
<a id="markdown-generic-linux-instructions" name="generic-linux-instructions"></a>
|
||||
### Generic Linux instructions
|
||||
* [Generic Instructions](/docs/installation/generic.md)
|
||||
* [Ubuntu](/docs/installation/ubuntu.md)
|
||||
* [Debian](/docs/installation/debian.md)
|
||||
|
||||
<a id="markdown-extra-instructions" name="extra-instructions"></a>
|
||||
### Extract instructions
|
||||
* [Enable mobile application connection](/docs/installation/mobile.md)
|
||||
* [Generic Instructions](/docs/installation/providers/generic.md)
|
||||
* [Ubuntu](/docs/installation/providers/ubuntu.md)
|
||||
* [Debian](/docs/installation/providers/debian.md)
|
||||
|
||||
<a id="markdown-platforms" name="platforms"></a>
|
||||
### Platforms
|
||||
|
||||
* [Docker](/docs/installation/docker.md)
|
||||
* [Heroku](/docs/installation/heroku.md)
|
||||
* [Vagrant](/docs/installation/vagrant.md)
|
||||
* [Docker](/docs/installation/providers/docker.md)
|
||||
* [Heroku](/docs/installation/providers/heroku.md)
|
||||
* [Vagrant](/docs/installation/providers/vagrant.md)
|
||||
* [YunoHost](https://github.com/YunoHost-Apps/monica_ynh)
|
||||
* [Cloudron](/docs/installation/cloudron.md)
|
||||
* [Cloudron](/docs/installation/providers/cloudron.md)
|
||||
|
||||
### Other documentation
|
||||
|
||||
* [Mail settings](/docs/installations/mail.md): allowing your instance to send mails. Useful for reminders.
|
||||
* [Storage](/docs/installations/storage.md): define an external storage for your instance.
|
||||
* [Ssl](/docs/installations/ssl.md): how to set ssl for your production-level instance.
|
||||
* [FAQ](/docs/installation/faq.md): a list of common problems and solutions.
|
||||
|
||||
@@ -1,4 +1,11 @@
|
||||
# Configuring a Mail Server
|
||||
# Configuring a Mail Server <!-- omit in toc -->
|
||||
|
||||
- [Use SMTP with Monica](#use-smtp-with-monica)
|
||||
- [Use Amazon SES with Monica](#use-amazon-ses-with-monica)
|
||||
- [1. Obtain SES Credentials](#1-obtain-ses-credentials)
|
||||
- [2. Verify the Address You'll be Sending From](#2-verify-the-address-youll-be-sending-from)
|
||||
- [3. Allow SES to Send Emails Out](#3-allow-ses-to-send-emails-out)
|
||||
- [4. Configure Monica to Use SES SMTP Server](#4-configure-monica-to-use-ses-smtp-server)
|
||||
|
||||
The Monica registration flow will send a validation email to the user who sent it. Whilst this is not required by default (see `APP_SIGNUP_DOUBLE_OPTIN` in your `.env` file), setting up a mail server is encouraged so that you can receive reminders.
|
||||
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
# Use the mobile application with your server
|
||||
|
||||
## Activate login through a mobile application
|
||||
|
||||
* You need to use the CLI to generate a new key specific to your application. You CAN'T generate this kind of key using Monica's UI.
|
||||
* Run `php artisan passport:install`. To generate a new set of OAuth keys, a personal access client, and a password grant client. It outputs something like this:
|
||||
```
|
||||
Personal access client created successfully.
|
||||
Client ID: 1
|
||||
Client Secret: mPWe3F9x1E2R4YsN9lXdTM6DfcCLyLQT11vMSg2K
|
||||
Password grant client created successfully.
|
||||
Client ID: 2
|
||||
Client Secret: zsfOHGnEbadlBP8kLsjOV8hMpHAxb0oAhenfmSqq
|
||||
```
|
||||
* Edit your .env file and add the following lines (replace the values with the password grant client values generated above)
|
||||
```
|
||||
MOBILE_CLIENT_ID=2
|
||||
MOBILE_CLIENT_SECRET=zsfOHGnEbadlBP8kLsjOV8hMpHAxb0oAhenfmSqq
|
||||
```
|
||||
|
||||
This should let users of the mobile application to access their accounts on your instance.
|
||||
@@ -1,9 +1,18 @@
|
||||
# Installing Monica on Debian
|
||||
# Installing Monica on Debian <!-- omit in toc -->
|
||||
|
||||
<img alt="Logo" src="https://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Debian-OpenLogo.svg/109px-Debian-OpenLogo.svg.png" width="96" height="127" />
|
||||
|
||||
Monica can run on Debian Buster.
|
||||
|
||||
- [Prerequisites](#prerequisites)
|
||||
- [Installation steps](#installation-steps)
|
||||
- [1. Clone the repository](#1-clone-the-repository)
|
||||
- [2. Setup the database](#2-setup-the-database)
|
||||
- [3. Configure Monica](#3-configure-monica)
|
||||
- [4. Configure cron job](#4-configure-cron-job)
|
||||
- [5. Configure Apache webserver](#5-configure-apache-webserver)
|
||||
- [Final step](#final-step)
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Monica depends on the following:
|
||||
@@ -1,9 +1,23 @@
|
||||
# Installing Monica on Docker
|
||||
# Installing Monica on Docker <!-- omit in toc -->
|
||||
|
||||
<img alt="Logo" src="https://upload.wikimedia.org/wikipedia/commons/thumb/4/4e/Docker_%28container_engine%29_logo.svg/915px-Docker_%28container_engine%29_logo.svg.png" width="290" height="69" />
|
||||
|
||||
Monica can run with Docker images.
|
||||
|
||||
- [Prerequisites](#prerequisites)
|
||||
- [Use Monica docker image](#use-monica-docker-image)
|
||||
- [Using the apache image](#using-the-apache-image)
|
||||
- [Using the fpm image](#using-the-fpm-image)
|
||||
- [Persistent data storage](#persistent-data-storage)
|
||||
- [Run commands inside the container](#run-commands-inside-the-container)
|
||||
- [Running the image with docker-compose](#running-the-image-with-docker-compose)
|
||||
- [Apache version](#apache-version)
|
||||
- [FPM version](#fpm-version)
|
||||
- [Make Monica available from the internet](#make-monica-available-from-the-internet)
|
||||
- [Using a proxy webserver on the host](#using-a-proxy-webserver-on-the-host)
|
||||
- [Using a proxy webserver container](#using-a-proxy-webserver-container)
|
||||
- [Other documents to read](#other-documents-to-read)
|
||||
|
||||
## Prerequisites
|
||||
|
||||
You can use [Docker](https://www.docker.com) and
|
||||
@@ -44,9 +58,9 @@ To have a persistent storage for your datas, you may want to create volumes for
|
||||
|
||||
Run a container with this named volume:
|
||||
```sh
|
||||
docker run -d
|
||||
-v monica_data:/var/www/monica/storage
|
||||
monicahq/monicahq
|
||||
docker run -d \
|
||||
-v monica_data:/var/www/monica/storage \
|
||||
monicahq/monicahq
|
||||
```
|
||||
|
||||
### Run commands inside the container
|
||||
@@ -207,14 +221,15 @@ To expose your Monica instance for the internet, it's important to set `APP_ENV=
|
||||
|
||||
One way to expose your Monica instance is to use a proxy webserver from your host with SSL capabilities. This is possible with a reverse proxy.
|
||||
|
||||
See [this documentation](/docs/installation/ssl.md) about howto set a ssl reverse proxy.
|
||||
|
||||
### Using a proxy webserver container
|
||||
|
||||
See some examples of docker-compose possibilities in the [example section](/scripts/docker/.examples) to show how to a proxy webserver with ssl capabilities.
|
||||
|
||||
|
||||
|
||||
# Other documents to read
|
||||
## Other documents to read
|
||||
|
||||
- [Build your own docker image](/docs/contribute/docker.md)
|
||||
- [Connecting to MySQL inside of a Docker container](/docs/installation/docker-mysql.md)
|
||||
- [Use mobile app with standalone server](/docs/installation/mobile.md)
|
||||
@@ -1,4 +1,19 @@
|
||||
# Installing Monica (Generic)
|
||||
# Installing Monica (Generic) <!-- omit in toc -->
|
||||
|
||||
- [Prerequisites](#prerequisites)
|
||||
- [Types of databases](#types-of-databases)
|
||||
- [Installation steps](#installation-steps)
|
||||
- [1. Clone the repository](#1-clone-the-repository)
|
||||
- [2. Setup the database](#2-setup-the-database)
|
||||
- [3. Configure Monica](#3-configure-monica)
|
||||
- [4. Configure cron job](#4-configure-cron-job)
|
||||
- [5. Configure Apache webserver](#5-configure-apache-webserver)
|
||||
- [6. Optional: Setup the queues with Redis, Beanstalk or Amazon SQS](#6-optional-setup-the-queues-with-redis-beanstalk-or-amazon-sqs)
|
||||
- [7. Optional: Setup the access tokens to use the API](#7-optional-setup-the-access-tokens-to-use-the-api)
|
||||
- [Generate the encryption keys](#generate-the-encryption-keys)
|
||||
- [Optional: Save the encryption keys as variable](#optional-save-the-encryption-keys-as-variable)
|
||||
- [Optional: Generate a Password grant client](#optional-generate-a-password-grant-client)
|
||||
- [Final step](#final-step)
|
||||
|
||||
## Prerequisites
|
||||
|
||||
@@ -14,20 +29,21 @@ If you don't want to use Docker, the best way to setup the project is to use the
|
||||
|
||||
**PHP:** Install php7.2 minimum, with these extensions:
|
||||
|
||||
- json
|
||||
- curl
|
||||
- bcmath
|
||||
- gd
|
||||
- gmp
|
||||
- iconv
|
||||
- intl
|
||||
- opcache
|
||||
- mbstring
|
||||
- xml
|
||||
- mysqli
|
||||
- json
|
||||
- pdo_mysql
|
||||
- bcmath
|
||||
- curl
|
||||
- gmp
|
||||
- zip
|
||||
- gd
|
||||
- mbstring
|
||||
- mysqli
|
||||
- opcache
|
||||
- redis
|
||||
- sodium
|
||||
- xml
|
||||
- zip
|
||||
|
||||
**Composer:** After you're done installing PHP, you'll need the Composer dependency manager. It is not enough to just install Composer, you also need to make sure it is installed globally for Monica's installation to run smoothly:
|
||||
|
||||
@@ -75,6 +91,10 @@ Create a database called 'monica'.
|
||||
```sql
|
||||
CREATE DATABASE monica;
|
||||
```
|
||||
or if you want to support all character (like emojis):
|
||||
```sql
|
||||
CREATE DATABASE monica CHARACTER SET utf8 COLLATE utf8_general_ci;
|
||||
```
|
||||
|
||||
Create a user called 'monica' and its password 'strongpassword'.
|
||||
```sql
|
||||
@@ -97,13 +117,13 @@ exit
|
||||
`cd /var/www/monica` then run these steps:
|
||||
|
||||
1. `cp .env.example .env` to create your own version of all the environment variables needed for the project to work.
|
||||
1. Update `.env` to your specific needs
|
||||
2. Update `.env` to your specific needs
|
||||
- set `DB_USERNAME` and `DB_PASSWORD` with the settings used behind.
|
||||
- configure a [mailserver](/docs/installation/mail.md) for registration & reminders to work correctly.
|
||||
- set the `APP_ENV` variable to `production`, `local` is only used for the development version.
|
||||
1. Run `composer install --no-interaction --no-suggest --no-dev --ignore-platform-reqs` to install all packages.
|
||||
1. Run `php artisan key:generate` to generate an application key. This will set `APP_KEY` with the right value automatically.
|
||||
1. Run `php artisan setup:production -v` to run the migrations, seed the database and symlink folders.
|
||||
3. Run `composer install --no-interaction --no-suggest --no-dev --ignore-platform-reqs` to install all packages.
|
||||
4. Run `php artisan key:generate` to generate an application key. This will set `APP_KEY` with the right value automatically.
|
||||
5. Run `php artisan setup:production -v` to run the migrations, seed the database and symlink folders.
|
||||
|
||||
The `setup:production` command will run migrations scripts for database, and flush all cache for config, route, and view, as an optimization process.
|
||||
As the configuration of the application is cached, any update on the `.env` file will not be detected after that. You may have to run `php artisan config:cache` manually after every update of `.env` file.
|
||||
@@ -226,6 +246,9 @@ Instead of keeping the encryption keys as files, you can add them as environment
|
||||
sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g' storage/oauth-private.key
|
||||
```
|
||||
Copy the output to an environment variable called `PASSPORT_PRIVATE_KEY` in your `.env` file.
|
||||
```
|
||||
PASSPORT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\nMIIJKAIBAAKCAgEAsC..."
|
||||
```
|
||||
|
||||
* Do the same thing with the contents of the public key:
|
||||
|
||||
@@ -233,6 +256,9 @@ sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g' storage/oauth-private.key
|
||||
sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g' storage/oauth-public.key
|
||||
```
|
||||
Copy the output to an environment variable called `PASSPORT_PUBLIC_KEY` in your `.env` file.
|
||||
```
|
||||
PASSPORT_PUBLIC_KEY="-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhki..."
|
||||
```
|
||||
|
||||
|
||||
#### Optional: Generate a Password grant client
|
||||
@@ -1,9 +1,18 @@
|
||||
# Installing Monica on Heroku
|
||||
# Installing Monica on Heroku <!-- omit in toc -->
|
||||
|
||||
Monica can be deployed on Heroku using the button below:
|
||||
|
||||
[](https://heroku.com/deploy?template=https://github.com/monicahq/monica/tree/master)
|
||||
|
||||
- [Installation](#installation)
|
||||
- [Configuration](#configuration)
|
||||
- [Optional: Setup the access tokens to use the API](#optional-setup-the-access-tokens-to-use-the-api)
|
||||
- [Optional: Generate a Password grant client for OAuth access](#optional-generate-a-password-grant-client-for-oauth-access)
|
||||
- [Limitations](#limitations)
|
||||
- [Updating Heroku instance](#updating-heroku-instance)
|
||||
|
||||
## Installation
|
||||
|
||||
Before deployment, Heroku will ask you to define a few variables.
|
||||
- Please ensure to enter a custom `APP_KEY` when asked (if, for example, you have the `pwgen` utility installed, you could copy and paste the output of `pwgen -s 32 1`).
|
||||
- In addition, you can edit the email address Monica will send emails to (`MAIL_FROM_ADDRESS`), the name of the sender (`MAIL_FROM_NAME`) and some other important variables on that screen.
|
||||
@@ -64,8 +73,8 @@ sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g' ~/storage/oauth-public.key
|
||||
Once Heroku is re-deploy, you should be able to use the 'Create new token' function in https://XXX.herokuapp.com/settings/api
|
||||
|
||||
Once you have the token, you can use the API with a command line:
|
||||
```
|
||||
curl -H "Authorization: Bearer API_TOKEN" https://XXX.herokuapp.com/api
|
||||
```sh
|
||||
curl -H "Authorization: Bearer $API_TOKEN" https://XXX.herokuapp.com/api
|
||||
```
|
||||
|
||||
If everything is well, this call will return:
|
||||
@@ -77,7 +86,7 @@ If everything is well, this call will return:
|
||||
#### Optional: Generate a Password grant client for OAuth access
|
||||
|
||||
* Still in the Heroku CLI, run this command to generate a password grant client:
|
||||
```
|
||||
```sh
|
||||
php artisan passport:client --password --no-interaction
|
||||
```
|
||||
* This will display a client ID and secret:
|
||||
@@ -93,9 +102,11 @@ Client secret: zsfOHGnEbadlBP8kLsjOV8hMpHAxb0oAhenfmSqq
|
||||
|
||||
## Limitations
|
||||
|
||||
* No upload of photos for your contacts. Heroku doesn't support storage.
|
||||
* No email by default - email configuration isn't required to use Monica on Heroku, but it's recommended. You can configure your own [mailserver](/docs/installation/mail.md), though the easiest way to go about this is to use Mailgun's [free email add-on on Heroku](https://elements.heroku.com/addons/mailgun):
|
||||
* [Sign up for Mailgun](https://signup.mailgun.com/new/signup) (the [free plan](https://www.mailgun.com/pricing) should be sufficient)
|
||||
* No storage by default. It means you will not be able to upload photos, document, avatars for your contacts.
|
||||
Follow [this documentation](/docs/installation/storage.md) to set an external storage.
|
||||
|
||||
* No email by default - email configuration isn't required to use Monica on Heroku, but it's useful for reminders. You can configure your own [mailserver](/docs/installation/mail.md), though the easiest way to go about this is to use Mailgun's [free email add-on on Heroku](https://elements.heroku.com/addons/mailgun):
|
||||
* [Sign up for Mailgun](https://signup.mailgun.com/new/signup) (the [free plan](https://www.mailgun.com/pricing) is sufficient)
|
||||
* Add a custom domain in mailgun.
|
||||
* Add the "To" and "From" e-mail addresses you're going to use as verified e-mail addresses on mailgun, and then actually verifying them.
|
||||
* Upgrade mailgun by entering a credit card (there is no charge, but they do require you enter it so you'll be upgraded to some other tier that enables you to actually send messages).
|
||||
@@ -1,16 +1,26 @@
|
||||
# Installing Monica on Ubuntu
|
||||
# Installing Monica on Ubuntu <!-- omit in toc -->
|
||||
|
||||
<img alt="Ubuntu" src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/ab/Logo-ubuntu_cof-orange-hex.svg/120px-Logo-ubuntu_cof-orange-hex.svg.png" width="120" height="120" />
|
||||
|
||||
Monica can run on [Ubuntu 18.04 (Bionic Beaver)](http://releases.ubuntu.com/18.04/).
|
||||
|
||||
- [Prerequisites](#prerequisites)
|
||||
- [Types of databases](#types-of-databases)
|
||||
- [Installation steps](#installation-steps)
|
||||
- [1. Clone the repository](#1-clone-the-repository)
|
||||
- [2. Setup the database](#2-setup-the-database)
|
||||
- [3. Configure Monica](#3-configure-monica)
|
||||
- [4. Configure cron job](#4-configure-cron-job)
|
||||
- [5. Configure Apache webserver](#5-configure-apache-webserver)
|
||||
- [Final step](#final-step)
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Monica depends on the following:
|
||||
|
||||
* [Apache httpd webserver](https://httpd.apache.org/)
|
||||
* [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
|
||||
* PHP 7.3+
|
||||
* PHP 7.2+
|
||||
* [Composer](https://getcomposer.org/)
|
||||
* [MySQL](https://support.rackspace.com/how-to/installing-mysql-server-on-ubuntu/)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Installing Monica on Vagrant
|
||||
# Installing Monica on Vagrant <!-- omit in toc -->
|
||||
|
||||
<img width="96" height="117" src="https://upload.wikimedia.org/wikipedia/commons/thumb/8/87/Vagrant.png/197px-Vagrant.png" />
|
||||
|
||||
@@ -6,6 +6,12 @@ Monicahq vagrant box is available on [Vagrant Cloud](https://app.vagrantup.com/m
|
||||
|
||||
The only provider for this box is virtualbox.
|
||||
|
||||
- [Run the monicahq vagrant box](#run-the-monicahq-vagrant-box)
|
||||
- [Default Monica configuration in the VM](#default-monica-configuration-in-the-vm)
|
||||
- [Database users](#database-users)
|
||||
- [Apache configuration](#apache-configuration)
|
||||
- [Build your own image](#build-your-own-image)
|
||||
|
||||
## Run the monicahq vagrant box
|
||||
|
||||
1. Download and install [Vagrant](https://www.vagrantup.com/) for your operating system
|
||||
@@ -20,9 +26,7 @@ curl -sS https://raw.githubusercontent.com/monicahq/monica/master/scripts/vagran
|
||||
```
|
||||
4. Edit Vagrantfile to set the appropriate host port number (default: 8080)
|
||||
```
|
||||
...
|
||||
config.vm.network "forwarded_port", guest: 80, host: 8080
|
||||
...
|
||||
```
|
||||
5. Launch the virtual machine with
|
||||
```sh
|
||||
@@ -1,4 +1,8 @@
|
||||
# Using monica with HTTPS
|
||||
# Using monica with HTTPS <!-- omit in toc -->
|
||||
|
||||
- [Local Installation](#local-installation)
|
||||
- [With a proxy](#with-a-proxy)
|
||||
- [Example: Docker Compose](#example-docker-compose)
|
||||
|
||||
When Monica is run with `APP_ENV=production`, it is required that Monica is running
|
||||
with HTTPS. In order to satisfy this requirement, some additional configuration
|
||||
@@ -53,20 +57,31 @@ events { worker_connections 1024; }
|
||||
|
||||
http {
|
||||
server {
|
||||
listen 443 ssl;
|
||||
listen [::]:443;
|
||||
listen 443;
|
||||
server_name monica.example.com;
|
||||
ssl on;
|
||||
ssl_certificate /https-cert.pem;
|
||||
ssl_certificate_key /https-key.pem;
|
||||
ssl_protocols TLSv1.2;
|
||||
|
||||
location / {
|
||||
proxy_pass http://monica:80;
|
||||
proxy_set_header Host monica.example.com;
|
||||
proxy_pass http://localhost:3001;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto https;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
}
|
||||
}
|
||||
server {
|
||||
if ($host = monica.example.com) {
|
||||
return 301 https://$host$request_uri;
|
||||
}
|
||||
listen 80 ;
|
||||
listen [::]:80;
|
||||
server_name monica.example.com;
|
||||
return 404;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@@ -106,27 +121,25 @@ Or an apache.conf file similar to:
|
||||
And a `docker-compose.yml` like:
|
||||
|
||||
``` yaml
|
||||
version: '3'
|
||||
version: '3.4'
|
||||
services:
|
||||
monica:
|
||||
container_name: monica
|
||||
image: monicahq/monicahq
|
||||
expose:
|
||||
- 80
|
||||
- 3001:80
|
||||
volumes:
|
||||
- '/var/monica-storage:/var/www/monica/storage'
|
||||
image: monicahq/monicahq
|
||||
env_file: /etc/monica/monica.env
|
||||
restart: unless-stopped
|
||||
|
||||
nginx:
|
||||
container_name: nginx
|
||||
image: nginx:alpine
|
||||
volumes:
|
||||
- '/etc/monica/nginx.conf:/etc/nginx/nginx.conf:ro'
|
||||
- '/etc/monica/https-cert.pem:/https-cert.pem:ro'
|
||||
- '/etc/monica/https-key.pem:/https-key.pem:ro'
|
||||
ports:
|
||||
- '443:443'
|
||||
image: nginx:latest
|
||||
- 443:443
|
||||
depends_on:
|
||||
- monica
|
||||
restart: unless-stopped
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
# External storage <!-- omit in toc -->
|
||||
|
||||
- [Add an external storage](#add-an-external-storage)
|
||||
- [1. Create AWS S3 storage](#1-create-aws-s3-storage)
|
||||
- [2. Create a user](#2-create-a-user)
|
||||
- [3. Set environment variables](#3-set-environment-variables)
|
||||
- [(Optional) Use another S3 provider](#optional-use-another-s3-provider)
|
||||
- [Move avatars to S3 storage](#move-avatars-to-s3-storage)
|
||||
|
||||
|
||||
Some times you want to add an external storage for your avatars, photos, or documents.
|
||||
|
||||
This is useful in particular if you install Monica on a stateless volatile instance, like Heroku, Platform.sh, etc.
|
||||
|
||||
We currently only support AWS S3 driver as external storage.
|
||||
|
||||
|
||||
## Add an external storage
|
||||
|
||||
### 1. Create AWS S3 storage
|
||||
|
||||
1. Go to the S3 [console](https://s3.console.aws.amazon.com/s3/home)
|
||||
2. Add a new bucket
|
||||
- Allow public access for the bucket. This is mandatory for now.
|
||||
3. Save the name and location of the bucket in `AWS_BUCKET` and `AWS_DEFAULT_REGION` variables
|
||||
|
||||
```
|
||||
AWS_BUCKET=my-bucket
|
||||
AWS_DEFAULT_REGION=eu-west-3
|
||||
```
|
||||
|
||||
You can also use [AWS CLI](https://docs.aws.amazon.com/cli/index.html) to create the bucket:
|
||||
```sh
|
||||
aws s3 mb s3://my-bucket
|
||||
```
|
||||
|
||||
### 2. Create a user
|
||||
|
||||
1. Create a new user via the [console](https://console.aws.amazon.com/iam/home#/users).
|
||||
2. Add the strategy for S3 access, for instance `AmazonS3FullAccess` is a good choice:
|
||||
- add the user to a group with the right strategy
|
||||
- or attach the strategy directly.
|
||||
|
||||
3. Save credentials of the user in `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` variables
|
||||
|
||||
```
|
||||
AWS_ACCESS_KEY_ID=AKXA3E2NYF7NPDJVQSOU
|
||||
AWS_SECRET_ACCESS_KEY=aASalDme6wB8kGC7Xla6K3pI+FiFylpCVnGCmdnD
|
||||
```
|
||||
|
||||
You can also use [AWS CLI](https://docs.aws.amazon.com/cli/index.html) to set credentials:
|
||||
```sh
|
||||
aws iam create-user --user-name user-monica-test
|
||||
aws iam attach-user-policy --user-name user-monica-test --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess
|
||||
aws iam create-access-key --user-name user-monica-test
|
||||
```
|
||||
Output:
|
||||
```
|
||||
{
|
||||
"AccessKey": {
|
||||
"UserName": "user-monica-test",
|
||||
"AccessKeyId": "AKIAXE2N0F6NIMZXLCGB",
|
||||
"Status": "Active",
|
||||
"SecretAccessKey": "Lh5ValIoe9xlfrhkpqiZOub1TFFo4qn1sAdFvlOM",
|
||||
"CreateDate": "2020-04-12T11:35:06+00:00"
|
||||
}
|
||||
}
|
||||
```
|
||||
Then save `AccessKeyId` and `SecretAccessKey` in `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` variables.
|
||||
|
||||
### 3. Set environment variables
|
||||
|
||||
Don't forget to set this variable to use S3 storage:
|
||||
```
|
||||
DEFAULT_FILESYSTEM=s3
|
||||
```
|
||||
|
||||
|
||||
### (Optional) Use another S3 provider
|
||||
|
||||
*AWS_ENDPOINT* variable can be used to define a S3-compatible provider other than Amazon, like [Digitalocean](https://www.digitalocean.com/products/spaces/) or [Minio](https://min.io/).
|
||||
example: `AWS_ENDPOINT=https://nyc3.digitaloceanspaces.com`
|
||||
|
||||
|
||||
### Move avatars to S3 storage
|
||||
|
||||
If you previously used local storage and want to move all avatars to a new S3 storage, use `monica:moveavatars` command once to move all files:
|
||||
```sh
|
||||
php artisan monica:moveavatars
|
||||
```
|
||||
@@ -1,4 +1,13 @@
|
||||
# Update your server
|
||||
# Update your server <!-- omit in toc -->
|
||||
|
||||
- [Generic instructions](#generic-instructions)
|
||||
- [Updating Heroku instance](#updating-heroku-instance)
|
||||
- [Importing vCards (CLI only)](#importing-vcards-cli-only)
|
||||
- [Importing SQL from the exporter feature](#importing-sql-from-the-exporter-feature)
|
||||
- [Importing SQL into Heroku](#importing-sql-into-heroku)
|
||||
- [WARNING: This will delete your current database. Only use on fresh installations, or if you know what you're doing.](#warning-this-will-delete-your-current-database-only-use-on-fresh-installations-or-if-you-know-what-youre-doing)
|
||||
|
||||
## Generic instructions
|
||||
|
||||
Monica uses the concept of releases and tries to follow
|
||||
[Semantic Versioning](http://semver.org/) as much as possible. If you run the project locally,
|
||||
@@ -20,17 +29,20 @@ or if you have installed Monica on your own server, you need to follow the steps
|
||||
```sh
|
||||
git pull origin master
|
||||
```
|
||||
1. Then, run the following command at the root of the project:
|
||||
1. Update the dependencies of the project:
|
||||
```sh
|
||||
composer install --no-interaction --no-suggest --no-dev --ignore-platform-reqs
|
||||
```
|
||||
1. Then, run the following command to make the proper update:
|
||||
```sh
|
||||
php artisan monica:update --force
|
||||
```
|
||||
|
||||
The `monica:update` command will run migrations scripts for database, and flush all cache for config, route, and view, as an optimization process.
|
||||
As the configuration of the application is cached, any update on the `.env` file will not be detected after that. You may have to run `php artisan config:cache` manually after every update of `.env` file.
|
||||
The `monica:update` command will run migrations scripts for database, and flush all cache for config, route, and view, as an optimization process. It's easier than run every need command independently.
|
||||
|
||||
|
||||
Your instance should be updated.
|
||||
Note: if you have just change some setting in your `.env` file, as the configuration of the application is cached, any update on the `.env` file will not be detected after that. You may have to run `php artisan config:cache` manually after every update of `.env` file.
|
||||
|
||||
|
||||
## Updating Heroku instance
|
||||
|
||||
|
||||
@@ -0,0 +1,146 @@
|
||||
# CardDAV and CalDAV <!-- omit in toc -->
|
||||
|
||||
**Using Monica as a CardDAV and CalDAV server**
|
||||
|
||||
- [Authentication](#authentication)
|
||||
- [CardDAV and CalDAV urls](#carddav-and-caldav-urls)
|
||||
- [Clients](#clients)
|
||||
- [Android](#android)
|
||||
- [iPhone](#iphone)
|
||||
- [Apple iOS](#apple-ios)
|
||||
- [Thunderbird](#thunderbird)
|
||||
- [Windows 10 Contacts application](#windows-10-contacts-application)
|
||||
- [Outlook (Microsoft Office)](#outlook-microsoft-office)
|
||||
|
||||
|
||||
CardDAV is a protocol based on WebDAV, allowing you to **synchronize your contacts** between multiple devices (mobile phone, mail software, etc.).
|
||||
CalDAV is pretty much the same, with Calendars. In Monica it allows you to synchronize the birthdays anniversary of your contacts, and the task list (which uses the same CalDAV protocol).
|
||||
|
||||
CardDAV and CalDAV for Monica are implemented with [sabre/dav](https://sabre.io/) library.
|
||||
|
||||
|
||||
## Authentication
|
||||
|
||||
To authenticate with the server, you'll need to create an API token.
|
||||
|
||||
Go to the [Settings > API](https://app.monicahq.com/settings/api) page, and Create a new token.
|
||||
|
||||

|
||||

|
||||
|
||||
Save this token to authenticate with CardDAV and CalDAV.
|
||||
|
||||
The login is you email login.
|
||||
|
||||
## CardDAV and CalDAV urls
|
||||
|
||||
On the [Settings > DAV Resources](https://app.monicahq.com/settings/dav) page of you instance you will find some help about the URL to use.
|
||||
|
||||
**In most of the cases, the base url should work.** So just copy/paste it to your client app to see the magic happen !
|
||||
|
||||

|
||||
|
||||
|
||||
## Clients
|
||||
|
||||
This is some example of clients configuration.
|
||||
|
||||
This list is not exhaustive, as the synchronisation can work on every CardDAV compatible device.
|
||||
|
||||
|
||||
|
||||
### Android
|
||||
|
||||
Android devices does not support CardDAV natively, so you'll need to install a third-party application to use CardDAV.
|
||||
|
||||
I recommend to install [DAVx5](https://www.davx5.com/) which is a great CardDAV client. You will find the application on the [Google Play store](https://play.google.com/store/apps/details?id=at.bitfire.davdroid) or even on [F-Droid store](https://f-droid.org/fr/packages/at.bitfire.davdroid/) for free.
|
||||
|
||||
To add an account:
|
||||
- Click on the `+` button
|
||||
- Choose **Connection with URL and username.**, and enter the following details:
|
||||
- **URL**: Enter the `/dav` base url, i.e. `https://app.monicahq.com/dav`
|
||||
- **Username**: Your email login address
|
||||
- **Password**: The token you've created on the API settings page.
|
||||
|
||||

|
||||
|
||||
- Chose the option **Groups are per-contact categories**
|
||||
- Click on **Connect**
|
||||
- Select the data you want to sync
|
||||
|
||||
After that, you can use any Contacts application on your phone. Be sure to display your Monica account on the list of contacts, and to use it by default for new contacts.
|
||||
|
||||
|
||||
### iPhone
|
||||
|
||||
|
||||
### Apple iOS
|
||||
|
||||
|
||||
### Thunderbird
|
||||
|
||||
[Thunderbird](https://www.thunderbird.net) does not support CardDAV natively, so you'll need to install a third party Add-on to use CardDAV.
|
||||
|
||||
I recommend to install [CardBook](https://addons.thunderbird.net/thunderbird/addon/cardbook/).
|
||||
Download the add-on and install it through Thunderbird's add-on manager.
|
||||
|
||||
To add an account:
|
||||
- Create a new Address Book.
|
||||
- Choose **Remote**
|
||||
- Choose **CardDAV** and enter the following details:
|
||||
- **URL**: Paste the `/dav` base url, i.e. `https://app.monicahq.com/dav`
|
||||
- **Username**: Your email login address
|
||||
- **Password**: The token you've created on the API settings page.
|
||||
- Click **Validate** to check the credentials, then click on the **Next** button
|
||||
- You can now see the address book, and the color to associate with. Select `4.0` as vCard format if you want.
|
||||
- Click **Next** and **Finish**
|
||||
|
||||
|
||||
### Windows 10 Contacts application
|
||||
|
||||
Windows 10 Contacts application support CardDAV. It is used to synchronize iCloud kind account.
|
||||
|
||||
- Open **Contacts** application
|
||||
- Click on **Import contacts** or **Add an account** on the parameters
|
||||
- Choose **iCloud** account kind and enter the following details:
|
||||
- **User name**: your Monica email login address
|
||||
- **Name**: enter your full name
|
||||
- **Password**: write some scrap (do **not** enter Monica credentials for now)
|
||||
|
||||

|
||||
|
||||
- Click on **Connect**, then **OK**
|
||||
|
||||
|
||||
After this step, the application will try to synchronize with iCloud servers. It will fails, but it's normal as we don't have an account on it.
|
||||
|
||||
Fix the settings by:
|
||||
- Open the **Mail** application
|
||||
- Open on the wheel  to go to the settings. If the settings are not reachable, add a fake POP, IMAP account
|
||||
- Click on your Monica account settings — it is named _iCloud_ at this point — and select **Change parameters**
|
||||
- Enter the following details:
|
||||
- **User name**: your Monica email login address
|
||||
- **Password**: The token you've created on the API settings page
|
||||
- **Account name**: enter the description for this account, like "Monica"
|
||||
|
||||

|
||||
|
||||
- Click on **Change mailbox sync settings, Options for syncing your content**, and change the following settings
|
||||
- **Download new email**: select `manually` as we don't sync emails here
|
||||
- **Sync options**: unselect **Email**, and select **Calendar** and **Contacts**
|
||||
- Click on **Advanced mailbox settings, Contacts (CardDAV) and Calendar (CalDAV) server settings**, and change the following settings
|
||||
- **Incoming email server**: enter `localhost`
|
||||
- **Outgoing (SMTP) email server**: enter `localhost`
|
||||
- **Contacts server (CardDAV)**: Paste the `/dav` base url, i.e. `https://app.monicahq.com/dav`
|
||||
- **Calendar server (CalDAV)**: Paste the `/dav` base url, i.e. `https://app.monicahq.com/dav`
|
||||
|
||||

|
||||
|
||||
- Click on **Done** button, then **Save**
|
||||
|
||||
Your contacts and calendar are now syncing.
|
||||
- On **Contacts** application, be sure to display your Monica contacts account on the **Filter**
|
||||
- On **Calendar** application, display you Contacts' Anniversary calendar
|
||||
|
||||
|
||||
### Outlook (Microsoft Office)
|
||||
@@ -1,4 +1,4 @@
|
||||
# Use Monica
|
||||
# Use Monica <!-- omit in toc -->
|
||||
|
||||
Monica is a personal relationship manager platform.
|
||||
It helps you organize the social interactions with your loved ones.
|
||||
@@ -6,12 +6,7 @@ It helps you organize the social interactions with your loved ones.
|
||||
You can use a bunch of nice [features](https://www.monicahq.com/features), or use our [API](https://www.monicahq.com/api).
|
||||
See the recent [changelog](https://www.monicahq.com/changelog) to track every changes with it.
|
||||
|
||||
See documentations about:
|
||||
|
||||
## Security
|
||||
|
||||
If the option is set, you can add a [Multi Factor Authentication](https://en.wikipedia.org/wiki/Multi-factor_authentication) device to secure your connection.
|
||||
|
||||
You can either:
|
||||
|
||||
- add a 2FA security device, using an OTP application on your mobile phone
|
||||
- or add a [Security Key](https://en.wikipedia.org/wiki/Universal_2nd_Factor) key. Monica provides [WebAuthn](https://en.wikipedia.org/wiki/WebAuthn) support. It's supported on most recent browsers. Be aware the instance must run in `https`.
|
||||
- [Setup your phone, or desktop app to sync contacts](carddav.md)
|
||||
- [Enhance security of your account](security.md)
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
# Security
|
||||
|
||||
If the option is set, you can add a [Multi Factor Authentication](https://en.wikipedia.org/wiki/Multi-factor_authentication) device to secure your connection.
|
||||
|
||||
You can either:
|
||||
|
||||
- add a 2FA security device, using an OTP application on your mobile phone
|
||||
- or add a [Security Key](https://en.wikipedia.org/wiki/Universal_2nd_Factor) key. Monica provides [WebAuthn](https://en.wikipedia.org/wiki/WebAuthn) support. It's supported on most recent browsers. Be aware the instance must run in `https`.
|
||||