Closed gfyre closed 4 years ago
First, I am not associated with cozy.io but I might be able to help you.
I am not sure whether I understand your question correctly. Do you want to self host this lovely piece of software, so it's "your cloud" on your own domain? If so, that totally possible and usually quite easy.
I don't understand what you mean by
(...) multiple accounts running against my domain name (...)
But you can decide between flat and nested subdomains. See here (cozy.example.yaml). Every user has his own subdomain space.
There is a somewhat usable guide here, but personally I am not a huge fan of it.
If you need any help, ping me here, or, alternatively, there is a small (official) chat on freenode in #cozycloud, which is also bridged to #cozycloud:matrix.org if you are more into matrix.
PS: Do you have already any experience with hosting your own stuff?
Hello!
By default & by design, cozy-stack
is multi-account.
If you follow the self-hosted setup tutorial, you can at the end create as many Cozy instances as you want with the cozy-coclyco
tools.
You also need to develop a frontend for creation if you want something more userfriendly. Our frontend is not opensource, mainly because it's very tied with our internal way to create Cozy instance.
First, I am not associated with cozy.io but I might be able to help you.
I am not sure whether I understand your question correctly. Do you want to self host this lovely piece of software, so it's "your cloud" on your own domain? If so, that totally possible and usually quite easy.
I don't understand what you mean by
(...) multiple accounts running against my domain name (...)
But you can decide between flat and nested subdomains. See here (cozy.example.yaml). Every user has his own subdomain space.
There is a somewhat usable guide here, but personally I am not a huge fan of it.
If you need any help, ping me here, or, alternatively, there is a small (official) chat on freenode in #cozycloud, which is also bridged to #cozycloud:matrix.org if you are more into matrix.
PS: Do you have already any experience with hosting your own stuff?
Hey @IndeedNotJames , Yes I do have some experience with hosting my own stuff.
What I meant by
(...) multiple accounts running against my domain name (...)
is that if I was to, for example, deploy Cozy for my team of around 20, on my own server, with all of the functionality it already provides, how would I do that?
What all repos would I need and how would I get them to work together?
Because, in all honesty, I couldn't find the answer to my questions in the documentations. I probably missed out on it.
Thanks.
Hello!
By default & by design,
cozy-stack
is multi-account. If you follow the self-hosted setup tutorial, you can at the end create as many Cozy instances as you want with thecozy-coclyco
tools.You also need to develop a frontend for creation if you want something more userfriendly. Our frontend is not opensource, mainly because it's very tied with our internal way to create Cozy instance.
Hey @aeris, I don't fully understand what
You also need to develop a frontend for creation if you want something more userfriendly.
means. As in, which frontend are you referring to? Is it the home page where all of the apps are shown?
By default we only provide the CLI cozy-coclyco
tool to create Cozy instances by an administrator with SSH access on the server hosting the stack.
If you want to allow users to directly create Cozy by themself, as we do on https://manager.cozycloud.cc/cozy/create, you have to create a web frontend to allow that. We don't provide such tool.
You would basically only need to download a binary from the release page here (if you aren't using the debian repo from the install guide linked above), setup a reverse proxy and nsjail to isolate everything.
@aeris should I invest some time improving the install docs and maybe providing other install methods?
@IndeedNotJames Sure you can! We greatly appreciate any contribution :blush:
@aeris Understood. So essentially, I need to create the frontend which allows the user to signup the way one does on https://manager.cozycloud.cc/cozy/create
So if I did create the user using the CLI, they can log in and begin accessing the rest from https://example-home.mycozy.cloud/#/connected
If yes, then what are the repos that I would need and how would I start them up from source instead of using Docker
What I need help with is making these different web apps interact with the stack/ backend
run
cozy-stack instances add --email 'some@email.tld' --apps drive,photos,settings,store,home someuser.yourdomain.tld
This would create a new instance with drive, photos, settings, store and home installed.
You might wanna run cozy-stack instances add
to see some help for all options.
cozy-stack
looks up those app names from the registry (think of it as a repo) configured here (example.cozy.yaml).
Thanks for all your help @IndeedNotJames. I wasn't quite familiar with GoLang and its just now I've come to realise that one can make web apps using Go.
I'll definitely try out what you've suggested and play around with this language a little more before I dive into customising this platform.
It would be great if you (@IndeedNotJames) and @aeris could clarify some of my final doubts
The cozy-stack
is essentially the canvas upon which the apps and connectors
run. Meaning, the JS apps such as cozy-drive
run on top of this stack, right?
Which parts of the platform are not open-sourced?
Is there a dashboard which allows the admin to control which apps can be shown on the Cozy App store and which can't. Essentially, is there a BackOffice/Backend Dashboard which allows for SuperAdmin controls?
And, (this one's just out of curiosity), is the payments bit where one can pay for a storage-space subscription a part of the open source version? Can storage be restricted for any user on any instance?
Thanks.
The cozy-stack is essentially the canvas upon which the apps and connectors run. Meaning, the JS apps such as cozy-drive run on top of this stack, right?
cozy-drive
is a standard Cozy application, available on our registry. A Cozy instance access our public registry to install applications & konnectors.
Which parts of the platform are not open-sourced?
Our back-office for Cozy creation and management.
Is there a dashboard which allows the admin to control which apps can be shown on the Cozy App store and which can't. Essentially, is there a BackOffice/Backend Dashboard which allows for SuperAdmin controls?
No, there is no such back-office. Applications/konnectors restrictions can only be done with a self-hosted registry cloning applications from our public registry and registry configuration override. At this time this is not a usecase we identify and there is no easy way to achieve this automatically.
And, (this one's just out of curiosity), is the payments bit where one can pay for a storage-space subscription a part of the open source version? Can storage be restricted for any user on any instance?
Payment is implemented on our side on top of the standard built-in features provided by the stack, on this case the possibility to configure quota per instance.
Same as the creation back-office, you have to develop your own payment solution, we don't have open-source code for that.
Yeah. Those apps communicate with APIs exposed by the stack.
Connectors run additional NodeJS code to fetch data in the background, e.g. automatically fetching your Netflix or Github invoices and putting them into a directory in your drive.
Everything is open source (except this sign up page mentioned above). Apps can be usually found in the github.com/cozy org, e.g. cozy-drive. Konnectors can be found in github.com/konnectors, e.g. the mentioned netflix invoice thing.
I am not aware of any admin panel UI at all and certainly not with those functions.
You can set a disk quote via CLI :)
PS: Seems like @aeris were a bit faster than me again :D
Wow! Thanks a lot guys. I really appreciate all your help! For now I am closing this issue. Should I need any help in the future, I'll re-open it.
Hey, before I jump into my question, I'd love to say that you guys have done a fantastic job at building this platform!
Coming to my question, is it possible to run the same platform as you are running at cozy.io.
Meaning, can I literally have multiple accounts running against my domain name for multiple users in the exact manner as you are doing on your servers?
If yes then which repos do I need and how do I boot up the whole platform?
Any help would be appreciated.
Thanks a tonne!