QNAP [ Parsec Cloud ] [ 2.10 ] Collaborate simply by confidentiality and integrity with your teams

QoolBox

Représentant QNAP
Membre Confirmé
2 Janvier 2014
10 710
183
158
51
France
www.qnap.com
parsec-logo.png

Source : https://parsec.cloud - https://github.com/Scille/parsec-cloud

Download : x64 only

Apache81 : https://www.qnapclub.eu/fr/qpkg/1304

parsec command line added to NAS $PATH

Overview​

Parsec is divided between a client (responsible for exposing data to the user and providing an encryption layer) and a server (storing the encrypted data and notifying clients about other users activity such as data modification or new sharing).

Parsec single server, multi organizations showcase

Parsec single server, multi organizations showcase
The Parsec server only requires a PostgreSQL DB for metadata (that is encrypted using devices keys for the most part) and an Amazon S3 or OpenStack Swift object storage for data blobs (that are all encrypted using Workspaces keys, that never left users’ devices). Redundancy using multiple cloud providers is possible.

[~] # parsec --help
[~] # Usage: parsec [OPTIONS] COMMAND [ARGS]...

Options:
--version Show the version and exit.
--help Show this message and exit.

Commands:
backend
core
[~] # parsec backend --help
[~] # Usage: parsec backend [OPTIONS] COMMAND [ARGS]...

Options:
--help Show this message and exit.

Commands:
migrate Updates database schema
run run the server
[~] # parsec backend run --help
[~] # Usage: parsec backend run [OPTIONS]

Options:
-H, --host TEXT Host to listen on [default: 127.0.0.1]
-P, --port INTEGER Port to listen on [default: 6777]
--db URL Database configuration. Allowed values:

-`MOCKED`: Mocked in memory
-`postgresql://<...>`: Use PostgreSQL database

[required]
--db-min-connections INTEGER Minimal number of connections to the database if using PostgreSQL [default: 5]
--db-max-connections INTEGER Maximum number of connections to the database if using PostgreSQL [default: 7]
--maximum-database-connection-attempts INTEGER
Maximum number of attempts at connecting to the database (0 means never retry) [default: 10]
--pause-before-retry-database-connection FLOAT
Number of seconds before a new attempt at connecting to the database [default: 1.0]
-b, --blockstore CONFIG Blockstore configuration. Allowed values:

-`MOCKED`: Mocked in memory
-`POSTGRESQL`: Use the database specified in the `--db` param
-`s3:[<endpoint_url>]:<region>:<bucket>:<key>:<secret>`: Use S3 storage
-`swift:<auth_url>:<tenant>:<container>:<user>:<password>`: Use SWIFT storage

Note endpoint_url/auth_url are considered as https by default (e.g. `s3:foo.com:[...]` -> https://foo.com). Escaping must be used to provide
a custom scheme (e.g. `s3:http\://foo.com:[...]`).

On top of that, multiple blockstore configurations can be provided to form a RAID0/1/5 cluster.

Each configuration must be provided with the form `<raid_type>:<node>:<config>` with `<raid_type>` RAID0/RAID1/RAID5, `<node>` a integer and
`<config>` the MOCKED/POSTGRESQL/S3/SWIFT config.

[required]
--administration-token TOKEN Secret token to access the administration api [required]
--spontaneous-organization-bootstrap
Allow organization bootstrap without prior creation.

Without this flag, an organization must be created by administration (see `parsec core create_organization` command) before bootstrap can
occur.

With this flag, the server allows anybody to bootstrap an organanization by providing an empty bootstrap token given 1) the organization is
not boostrapped yet and 2) the organization hasn't been created by administration (which would act as a reservation and change the bootstrap
token)
--organization-bootstrap-webhook URL
URL to notify 3rd party service that a new organization has been bootstrapped.

Each time an organization is bootstrapped, an HTTP POST will be send to the URL with an `application/json` body with the following fields:
organization_id, device_id, device_label (can be null), human_email (can be null), human_label (can be null)
--organization-initial-active-users-limit INTEGER
Non-revoked users limit used to configure newly created organizations (default: no limit)
--organization-initial-user-profile-outsider-allowed BOOLEAN
Allow the outsider profiles for the newly created organizations (default: True)
--backend-addr URL URL to reach this server (typically used in invitation emails) [required]
--email-host TEXT The host to use for sending email, set to `MOCKED` to output emails to temporary file [required]
--email-port INTEGER Port to use for the SMTP server defined in EMAIL_HOST [default: 25]
--email-host-user TEXT Username to use for the SMTP server defined in EMAIL_HOST
--email-host-password TEXT Password to use for the SMTP server defined in EMAIL_HOST. This setting is used in conjunction with EMAIL_HOST_USER when authenticating to
the SMTP server.
--email-use-ssl Whether to use a TLS (secure) connection when talking to the SMTP server. This is used for explicit TLS connections, generally on port 587.
--email-use-tls Whether to use an implicit TLS (secure) connection when talking to the SMTP server. In most email documentation this type of TLS connection
is referred to as SSL. It is generally used on port 465. Note that --email-use-tls/--email-use-ssl are mutually exclusive, so only set one
of those settings to True.
--email-sender EMAIL Sender address used in sent emails
--forward-proto-enforce-https TEXT
Enforce HTTPS by redirecting incoming request that do not comply with the provided header. This is useful when running Parsec behind a
forward proxy handing the SSL layer. You should *only* use this setting if you control your proxy or have some other guarantee that it
sets/strips this header appropriately. Typical value for this setting should be `X-Forwarded-Proto:https`.
--ssl-keyfile FILE SSL key file. This setting enables serving Parsec over SSL.
--ssl-certfile FILE SSL certificate file. This setting enables serving Parsec over SSL.
-l, --log-level [DEBUG|INFO|WARNING|ERROR|CRITICAL]
[default: INFO]
-f, --log-format [CONSOLE|JSON]
[default: CONSOLE]
-o, --log-file TEXT [default: stderr]
--sentry-dsn URL Sentry DSN for telemetry report
--sentry-environment NAME Sentry environment for telemetry report [default: production]
--dev Equivalent to `--debug --db=MOCKED --blockstore=MOCKED --administration-token=s3cr3t --email-sender=no-reply@parsec.com --email-host=MOCKED
--backend-addr=parsec://localhost:<port>(?no_ssl=False if ssl is not set)`
--debug
--help Show this message and exit.

Note each parameter has a corresponding environ variable with the `PARSEC_` prefix (e.g. `--email-port=42` parameter is equivalent to environ variable
`PARSEC_EMAIL_PORT=42`).

Parameters can also be specified by using the special environment variable `PARSEC_CMD_ARGS`.
All available command line arguments can be used and environ variables within it will be expanded.
For instance:

$ DB_URL=postgres:///parsec PARSEC_CMD_ARGS='--db=$DB_URL --host=0.0.0.0' parsec backend run