-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: Rework Readme file #53
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that then, we can get rid of the .example
folder, right?
README.md
Outdated
Now you can access Nextcloud at http://localhost/ from your host system. To make your nextcloud installation available from the internet you must map the port of the container to your host: | ||
|
||
```console | ||
$ docker run -p 80:80 -d nextcloud |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd prefer to avoid giving insecure instructions, and link to SSL instructions here. What is your opinion on that?
@tilosp how did you add your commit on top? |
@pierreozoux You need to push to the source branch of the pull request, in this case SnowMB:master. |
Closed and reopened to manually trigger a Travis build |
We should keep the examples folder (I reference it quite a few times in the Readme). I would even like to extend in the future and maybe split it into subfolders. On the SSL part: I wanted to show the important things step by step (Exposing port, adding database, adding volumes, adding encription). For tinkering in the local network, exposing port 80 is fine. But we can add some more warning text or so. |
* Added theming. * Added information on apps and custom_apps folder.
Rebased the whole thing and adapted to #65. Added a part on migrating. Content should be ready for merge, just have to rework same typos. Please review @tilosp, @pierreozoux. |
README.md
Outdated
When using docker-compose: | ||
|
||
```console | ||
$ docker-compose up -d --pull |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't find the --pull
option in the docs https://docs.docker.com/compose/reference/up/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're right, that slipped. Fixed
We should wait for #65 to make it into the docker library before merging this PR. |
README.md
Outdated
```console | ||
$ docker pull nextcloud | ||
$ docker stop <your_nextcloud_container> | ||
$ docker rm <your_nextcloud_container> | ||
$ docker run -d nextcloud |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we need to add -v webroot:/var/www/html
because we need to persist the version.php
in it for the new upgrade system
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah. I'll rework the non-compose commands to reflect actual use with volumes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tilosp I'm a bit confused right now. Do you mean the upgrade script needs the old installation to perform a propper upgrade?
What would happen if I just mount the folders listed below and then pull a newer image?
$ docker run -d nextcloud \
-v apps:/var/www/html/custom_apps \
-v config:/var/www/html/config \
-v data:/var/www/html/data \
-v theme:/var/www/html/themes/<YOUR_CUSTOM_THEME>
I think this:
It would not find any version.php
and perform a "new installation" wich copies all the installation files but does not overwrite the existing data files.
The only problem might be, that occ:upgrade is not triggered.
We could fix this in the upgrade script or by simply remove suggesting fine grained volume control from the readme.
Have I missed something?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With the new upgrade system we need to always have the /var/www/html
volume.
And if the user wants to have the data, config, apps or themes in a different volume he can additionally add the corresponding volume.
README.md
Outdated
- `/var/www/html/custom_apps` installed / modified apps | ||
- `/var/www/html/config` local configuration | ||
- `/var/www/html/data` the actual data of your Nextcloud | ||
- `/var/www/html/theming` theming/branding |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the folder is called themes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indeed, where is my mind? ;)
But I need to rework that section, too. Mounting the whole folder is not necessary because of the examples folder. Also #72
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
Also added a line on upgrading.
Hello everyone, I just found nextcloud beside owncloud and was really impressed - until I saw what was published regarding docker. Nice work - many thanks. I hope it gets released for everyone on the main page of docker soon. It might help to change the words "your-name" in line 232 and 233 to "name of your container" but this is just cosmetics. I'll try to reply when I got it working or gave up. (I'm a perfect test object since my docker experience is 4 days joung) |
@pierreozoux please review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really nice work!
Beside the SSL part, I'm really happy, this looks promising! (And feel free to ignore my SSL comment if you feel like)
This work can inspire docker-library/docs#238
@tianon if you could also give a quick review, it would be nice!
Thanks @ALL
PS: it has to be squashed before merge
README.md
Outdated
volumes: | ||
- db:/var/lib/mysql | ||
environment: | ||
- MYSQL_ROOT_PW=... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd remove the ...
, then if you don't put anything, docker-compose throw an error (this is the desired behavior, people putting their own password, and not using any default.
README.md
Outdated
|
||
```console | ||
$ docker run -p 80:80 -d nextcloud |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As already said, I'm not a big fan to ease non secure deploy. If you want to keep this, I'd add a section "development/testing" where it explains how to map such insecure way. And this section should be after the SSL section.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Each part contains a line about how that setup does not contain ssl encryption, I can make it bold if you like 😁. Since nextcloud itself complains about unsecure connection when you connect via http, I think it should be fine.
But I'll have a look at removing port mappings from the example and move it to a new part as you proposed.
README.md
Outdated
app: | ||
image: nextcloud | ||
ports: | ||
- "80:80" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same comment as above about the insecure deploy
README.md
Outdated
web: | ||
image: nginx | ||
ports: | ||
- "80:80" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same comment as above about the insecure deploy
README.md
Outdated
|
||
|
||
# Adding Features | ||
A lot of people want use additional functionality inside their nextcloud installation. If the image does not include the packages you need, you can easily build your own image on top of it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
want to use
Yeah definetly squash merge. 😀 |
@pierreozoux Adressed your review. I removed all port mappings from the examples and created a new section called Connect your Nextcloud to the internet. This should remove your concerns 😄. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we are good to go :) Thanks a lot for the efforts!
Hello everyone, I sent some time testing the example (docker compose). I would like to give feedback and talk about an error of the setup.
After fixing these things I got mostly all services up and running. Now to one issue that I have after I was able to reach the proxy via my ddns (no-ip) domain:
The (well known blue) nextcloud page appears on the clients web browser but shows: `Can't write into config directory! This can usually be fixed by giving the webserver write access to the config directory.` This looks like wrong permissions inside the container. (I usually would spend more time with it but I think your docker experience is better than mine and I think others would also profit from this information) Can you help me on that and extend the readme file or an examples documentation for the things which cannot be found in an existing manual (like setting correct env vars) |
I just thought that my error has to do with the missing groups setting on my docker host (I have to use sudo before every docker command) but I made the owncloud image work in a container and the nextcloud Apache image also works with these settings. |
Okay, I found this in the docker-compose file:
I'll test this as soon as possible. |
Another possible cause: greyltc/docker-owncloud#74 |
I've tested the :Z option at the config directory. That doesn't help. |
Hey, thanks for your feedback!
A compose file is a very specialized description of your services. It indeed has to be adapted to your needs.
Hm sorry, but I thought that's obvious 😁. I might add a line.
I think we'll have to structure the examples directory. If noone else does it I'll have a look when we finished the new Readme 😄.
I don't know what variable you mean. There's just a
This both has to do with the way letsencrypt and the reverse proxy work. As I said, these projects already have a good documentation, so I don't think it is necessary for us to give more information on that. We might add links to the repos tho. #To your error: Please open an issue to get more help. This PR is just about the rework of the Readme and we would like to avoid any clutter that's unrelated to the topic. 👍 |
Hello, Links to the documentation would be nice and I think helpful. Thanks and regards |
@SnowMB is this PR ready for merge |
Yeah should be. For now I think it's ok. Further improvements can be be done in new PRs. People are already confused about the old Readme. Will you do the merge? |
Complete rework of the readme file.
I tried getting clearer on many topics that raised questions in the past. Hope it's understandable.
Before it get's merge we should do changes to the update/unpack script and solve #23
Please review @pierreozoux