-
Notifications
You must be signed in to change notification settings - Fork 19
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
Docker Instructions fail to result in usable installation #134
Comments
thank you for your report. I must confess I didn't try the out-of-the-box installation for a while. At least the "URL rewrite" seems like the same problem as #124 which I'm not able to solve (yet). Any support will be awesome :-) I'll have a look at the other two problems. I think I can resolve both of them! |
Thank you! :) OK, so regarding (1), this is initially going to sound super ugly, and will require a bit of a rewrite of the install page, but let's try it on for size anyway. What if, rather than running a curl behind the scenes on the Docker container, the install page started by doing a 301 redirect to the testrewrite page (or something more helpfully named), and that was the one that showed the statuses of all the tests? If you get to that page, obviously the rewrite is working. Obviously, if you don't get to that page, everything is awful and the user doesn't know what's going on, so perhaps giving the user a warning in advance that if the next step fails, it'll likely be because of a broken rewrite config? I don't love the idea, but maybe it's a step in the right direction to a better idea? (Another idea could be to do an AJAX request from the install page to the testrewrite page, so it comes from the client, but that requires Javascript to be working to get the install happening) |
I came accros this today, first time installing friendica. We could add a Internal port or internal address environment variable when using docker or use ajax like @mattcen suggested. Or at the very least provide a "Continue anyway" button. I cannot stop the service running on port 80 so I'll need to find a way to work around this to install it. |
any updates on this issue at all? |
@kiddhustle , @Extarys and @mattcen A little bit late, but with when using the tag |
Concerning the other problems from @mattcen
Yes this is the expected behavior, because the Friendica code upstream doesn't use environment variables for populate the input fields automatically. I think this is a good feature request! I'll place it
Did you use the setting "enforce SSL" during the installation? Because that would explain this behavior. |
Thanks for following this one up, @nupplaphil. I can confirm that when switching to the
I guess I was confused because I couldn't see why the variables were specified at https://github.com/friendica/docker#base-version---apache under the
No, I just tested this now, and made sure to select the "No SSL policy, links will track page SSL state" option, and it still tries to redirect me to the SSL when I try to log in. |
Steps to reproduce the above:
version: '2'
services:
db:
image: mariadb
restart: always
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_USER=friendica
- MYSQL_PASSWORD=secretpassword
- MYSQL_DATABASE=friendica
- MYSQL_RANDOM_ROOT_PASSWORD=yes
app:
image: friendica:rc-apache
restart: always
volumes:
- friendica:/var/www/html
ports:
- "8080:80"
environment:
- MYSQL_HOST=db
- MYSQL_USER=friendica
- MYSQL_PASSWORD=secretpassword
- MYSQL_DATABASE=friendica
- [email protected]
depends_on:
- db
volumes:
db:
friendica:
|
I can confirm the SSL issue (redirection to https at login) is still an issue as of 15 November 2021, with FRIENDICA_VERSION = 2021.09 |
In addition to the above issues, the IP address of the database container is not automatically pupulated. You have to search for it (for instance using portainer). |
You don't need an IP address at docker environments, just use the name of the container for it (in that case |
I believe it's an upstream code bug during the install process and not an issue inside docker, I'm currently verifying it |
Three issues:
URL rewrite fails
When following the Apache docker-compose instructions verbatim, by creating a
docker-compose.yml
file with the contents specified in the README (the only change being to set MYSQL_PASSWORD), runningdocker-compose up
, and browsing to http://localhost:8080, I receive the following error:This is due to the mismatch between port 80 on the Docker container being forward to port 8080 on the Docker host; when I change the
docker-compose.yml
to say80:80
instead8080:80
, the rewrite test passes and I can continue to logging in.DB config not pre-populated
I can see from the
docker-compose.yml
that the DB settings are stored in environment variables in theapp
container. These are not pre-populated during the DB setup stage. Is this expected?Failed HTTPS redirect
When creating an account (which understandably fails to send a confirmation email but shows a password via a toast notification), I try to log in with the username and password created, and the form tries to redirect the browser to submit via HTTPS, which is obviously the safe option, but fails because there's no forwarded port for HTTPS. I can confirm that if I use my browser's inspector and change the form's submit destination from
https
tohttp
, I can log in successfully.I'm not sure of the best ways to fix each of these issues unfortunately (but with some guidance I could give it a shot), but wanted to report them nonetheless.
The text was updated successfully, but these errors were encountered: