Changes between Version 7 and Version 8 of org/operations/services/nextcloud

Jan 15, 2020, 10:10:33 PM (5 weeks ago)



  • org/operations/services/nextcloud

    v7 v8  
    33= Instructions for using !NextCloud for Tor Project =
    4 Tor Project is using [ NextCloud] as a tool for managing and sharing resources ^[#fn1 1]^ and for collaborative editing ^[#fn2 2]^.
     4Tor Project is using [ NextCloud] as a tool for managing and sharing resources ^[#fn1 1]^ and for collaborative editing ^[#fn2 2]^.
    66Questions and bug reports are handled by Tor's !NextCloud service admin team. For bug reports, please [/newticket create a ticket] in the `Service - nextcloud` component in [ Trac]. For questions, find us on IRC (GeKo, ln5, pospeselr, anarcat, gaba) or send email to ``.
    150150== Managing contacts ==
    153 == Project phases ==
    154 The !NextCloud evaluation project runs from April 1 to September 30 2019 and is divided into N phases (with start dates):
    156  1. Setting up (April 1)
    157  1. Migration of data from Sandstorm (April 15)
    158  1. Migration of data from SVN (April 22)
    159  1. Feedback collection (June 1)
    160  1. Evaluation and decision (August 1)
    161  1. Possibly migrating users and data to a permanent !NextCloud instance (September 1)
    163 == Footnotes ==
    164 * [=#fn1 (1)] Resources include files, calendars, tasks and contacts; see
    165 * [=#fn2 (2)] Collaborative editing: documents, spreadsheets and presentations; see
    167 = Evaluation notes
    169 == NextCloud evaluation for Tor Project
    171 META TODO: add trac magic here listing all open issues in component 'Service - nextcloud'
    173 User instructions are found over at the [wiki:org/operations/Infrastructure/NextCloud Instructions for using NextCloud for Tor Project] page
    175 === Evaluation time period
    177 April 1 to September 30 2019
    179 Six months is long enough for finding out if this works for us, even when taking potential disturbances into account.
    180 The evaluation period can be shortened if it shows that we know everything earlier.
    182 === Who will be part of the evaluation group
    184 NOTE: #29417 has a list of people
    186 ==== Must have
    188 - Seattle office folks
    189 - PMs
    191 ==== Maybe
    193 - Anybody interested?
    194   - Plus
    195     * might help to test scenarios/to catch issues not found with just having the groups in the "Must have" category
    196     * helps conveying the idea that this is a service for everyone at the Tor Project and not just a special group of employees
    197   - Minus
    198     * might make the evaluation process too complex and time consuming if a lot of folks are getting involved (e.g. we might not be able to help those who need it most as good as we could due to lack of resources in that case) UPDATE 2019-04-29: This concern seems less problematic than anticipated -- our users seem to figure things out by themselves pretty well. Even 2FA works for those who try it!
    199     * Migrating users and their data if we decide to move to a more permanent instance will be more time consuming and possibly more complicated the more users we have.
    201 - One person from each team
    202   - Identifying a) use cases in each area of what Tor is doing and b) potential cross-team communication issues
    204 ==== No thanks
    205 - Non Tor members
    206   - We provide services to Tor members
    208 === User functionality (ie applications)
    209 We should minimize the number of applications, for minimizing not only the risk of security issues but also user support issues.
    211 ==== Must have
    212 - File Sharing -- sharing of folders and files, including device sync (a la dropbox)
    213 - OnlyOffice -- collaborative editing of documents; text documents, spreadsheets and presentations
    214 - Deck -- KanBan board (non-official app)
    215 - Calendar -- shared calendar using CalDav
    216 - Tasks -- shared task handling (non-official app) using CalDav
    217 - Contacts -- storing of contacts using CardDav
    219 ==== Maybe?
    220 - [ nextcloud end-to-end encryption] -- do we need this to protect some data from administrators of the nextcloud instance? More details can be found in [the rfc].
    221 - Gallery -- sharing photos
    222   - Sharing kittens is an important use case, but perhaps not important enough?
    223 - Webmail
    224   - mail is nothing we really offer today and thus, Webmail would not replace any service Tor provides; not sure yet if the use-case
    225     of webmail in nextcloud is important enough to add this app up to all the others we need
    226 - an app that helps with Doodle like polls (not sure whether there is such a thing, maybe the Polls app; yes, it seems so:
    228 ==== Not at this stage
    229 - Talk
    230   - We don't want to mess with a STUN and TURN server at this point
    232 === Infrastructure requirements
    233 - FDE or [ nextcloud server-side encryption]
    234 - backups -- with what kind of "EULA"?
    235 - ? LDAP user and group backend
    237 === Replacing existing services
    238 ==== Sandstorm
    239   - [ ] calendar
    240   - [ ] KanBan
    241   - [ ] Pads
    242 ==== SVN
    243   - [ ] NC "File Sharing"
    244 ==== Google Docs
    246 === Who will help with the system
    247 - Training and education
    248 - User support
    249 - Service admin, ie nextcloud software updates, migration of data from existing platforms (SVN, Sandstorm, other)
    250 - System administration, ie providing a patched and networked operating system
    252 === Migration of data from existing services onto evaluation NextCloud
    253 Copying data from SVN, Sandstorm, Google Docs and possibly other services.
    254 We'd have to "freeze", ie write protect, the data there, so that people don't update things in two places.
    255 This is not going to fly in the cases where _all_ the users of that data are not also on Nextcloud though, so some data will probably have to stay and _not_ be copied to Nextcloud.
    257 ===== SVN
    258 There's at least three SVN repositories
    259 - public (#15948 but we dont care)
    260 - internal (#15949 gives some insight but we don't care)
    261 - corporate is the one we want to put in Nextcloud, possibly after some undefined sort and discard procedure
    263 ===== Sandstorm
    264 What do we have in Sandstorm?
    266 ===== Google Docs
    267 What do we have in Google Docs? Formally nothing but in practice probably quite a lot.
    268 Let this be self organized -- those who want to move a document off of Google into Nextcloud can do it after coordinating with their peers. We don't do that for them.
    270 === Migrating from evaluation onto a production environment
    272 ==== User credentials
    274 ==== User data
    276 === Open questions
    278 - can we use db.tpo? let's try to not be dependent on ldap queries in real time, but rather do what the rest of the infrastructure does -- extract a subset of the db and transfer it to the nextcloud system. this is what dip.tpo (gitlab) is aiming for too. might be useful.
    279 - what are the security promises of federated sharing? trusting DNS plus all the CA's? can we require DNSSEC? can we configure CA trust root? Nextcloud does not have any settings that require DNSSEC or specifically allow you to configure a CA trust root.
    280 - Should we run our own app store (see: One idea could be to only allow installing/updating apps from there and making sure apps are only in it after they have undergone some review.
    281 - How do updates work in a hosted environment, both for official apps and unofficial ones? Is there a way to make sure that updating app X does not prevent app X (or even app Y!) from functioning correctly after the update? If not, is there an easy roll-back button to fix this if needed?
    283 === Evaluation
    284 TODO: Let's have users fill in a form of some sort, after some time.
    285 - what is good/ok/bad with X, for X in login, sharing, real-time editing, calendar, tasks, contacts, kanban, more
    287 === Resolved issues
    289 Keeping them here for collective memory of decisions
    291 ==== RESOLVED regarding the riseup instance
    293   - what's our https endpoint?, may also be accessed via
    294   - when can we start using it? april 1
    295   - can we have 2FA (TOTP) enabled? TOTP is enabled (using the "official" Once can configure it by going to and look towards the bottom for TOTP (Authenticator app)
    296   - what does the "server encryption" look like? FDE
    297   - can we use "client encryption"? The "Server Side Encryption" option is enabled with the "Default Encryption Module". Users need to be very careful, because if they lose their password or recovery key, it may be impossible to recover their files!
    298   - what does the backup scheme look like? Incremental backups are done nightly of the database, and files to a different physical machine devoted to this purpose.
    299   - How do we treat apps security-wise? Do we want to review all apps before using them? Or maybe just the unofficial ones? And how about updates? Riseup reviews any 3rd-party apps before installation and updating
    301 ==== RESOLVED user management
    303   - can we configure NC to require 2FA for all users? We can configure it to require 2FA for your group, let micah know if you wish this enabled.
    304   - will our evaluation group be able to deal with 2FA? we wanted to aim high and fall back if necessary but user enrollment showed to be difficult with 2FA being enforced. let's nag users without 2FA enabled isntead.
    306 ==== RESOLVED Choosing a service provider
    308 RESOLUTION: We've picked Riseup
    310 We want to buy the service nextcloud, for the evaluation at least.
    312 Current contenders include
    314 - riseup
    315   - plus
    316     - trusted people
    317     - have onlyoffice, and experience with users of it
    318     - user (and perhaps data too) migration _off_ of the evalutation instance might be less painful
    319   - minus
    320     - not entirely sure that we can have our own instance, but might have to share with riseup people. this would limit the alternatives of site wide settings, like requiring 2FA, possibly influence user handling, definitely affect choice of applications and the process for upgrading
    321     - riseup can setup a separate instance, on a dedicated server, if this is something that is desired. Perhaps after the evaluation period has ended, we can revisit this once it is determined if Nextcloud is something that people will want to use.
    322 - hetzner
    323   - plus
    324     - known reliable service provider (at least for co-location and VM's)
    325   - minus
    326     - there is no onlyoffice available, but can be provided elsewhere (on a separate server)
    328 One possible option would be a combination of both -- NC from Hetzner and Onlyoffice from Riseup