friendica / docker

Docker image for Friendica
https://friendi.ca
GNU Affero General Public License v3.0
50 stars 19 forks source link

2024.09 RC and dev Docker images do not contain Friendica code at all #268

Open Alkarex opened 1 week ago

Alkarex commented 1 week ago

The Friendica code seems to be gone from recent Docker images:

$ docker run --rm friendica:2024.09-rc-apache ls /usr/src/friendica
config
$ docker run --rm friendica:dev ls /usr/src/friendica
config

Compare with the latest stable:

$ docker run --rm friendica:apache ls /usr/src/friendica
CHANGELOG
CREDITS.txt
LICENSE
README.md
VERSION
addon
bin
config
database.sql
doc
images
index.php
mod
mods
proxy
security.txt
spec
src
static
update.php
vendor
view

Might explain issues like https://github.com/friendica/docker/issues/266#issuecomment-2466431985

ne20002 commented 1 week ago

The -dev and -rc images download the friendica code upon startup. This is to ensure latest version of branch is used.

Alkarex commented 1 week ago

Thanks for the quick answer. That seems like a strange approach (should be a new build, and should be the same than stable to be able to properly test), but anyway, that does not seem to work for me.

friendica:
    image: friendica:dev
    container_name: friendica
    hostname: friendica.example.net
    restart: unless-stopped
    logging:
      options:
        max-size: 10m
    volumes:
      - friendica-data:/var/www/html
    environment:
      - FRIENDICA_ADMIN_MAIL=${ADMIN_EMAIL}
      - FRIENDICA_URL='https://friendica.example.net/'
      - MYSQL_HOST=mariadb
      - MYSQL_DATABASE=friendica
      - MYSQL_USER=friendica
      - MYSQL_PASSWORD=${MYSQL_FRIENDICA_PASSWORD}
    depends_on:
      - mariadb
$ docker-compose logs --follow --timestamps --tail 200 friendica
Attaching to friendica
friendica    | 2024-11-17T14:30:33.703170466Z No new Friendica sources found (enable FRIENDICA_UPGRADE for new sources)
friendica    | 2024-11-17T14:30:34.063602084Z [Sun Nov 17 14:30:34.063013 2024] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.62 (Debian) PHP/8.2.25 configured -- resuming normal operations
friendica    | 2024-11-17T14:30:34.063719101Z [Sun Nov 17 14:30:34.063489 2024] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
$ docker exec friendica ls /usr/src/friendica
config
ne20002 commented 1 week ago

That is a common approach, other projects like Nextcloud do this the same way. friendica has a very small group of maintaners and the approach allows fast updates of dev and rc installations without the need to build new images all the time. Releases do indeed include the code.

But still: to get the download working you need to add FRIENDICA_UPGRADE to the environment as per documentation and error message.

Alkarex commented 1 week ago

For the background, I first tried the :latest or :stable image but hit https://github.com/friendica/friendica/issues/14450 I was then hopping to find an image that works, so gave a try to :rc and :dev. Trying to follow the instructions of https://hub.docker.com/_/friendica/ or https://github.com/friendica/docker/blob/stable/README.md , none of the those images seem to work.

Back to the issue, I did try FRIENDICA_UPGRADE=true and it does install the sources indeed, but the symptoms are the same, leading to a 404 on / or /install.

$ docker-compose logs --follow --timestamps --tail 200 friendica
Attaching to friendica
friendica    | 2024-11-17T17:25:33.189543195Z Download sources for 2024.09-dev (Addon: 2024.09-dev)
friendica    | 2024-11-17T17:25:35.907641225Z gpg: Signature made Fri Nov 15 19:06:55 2024 UTC
friendica    | 2024-11-17T17:25:35.907712409Z gpg:                using RSA key 08656443618E6567A39524083EE197EF3F9E4287
friendica    | 2024-11-17T17:25:35.908657785Z gpg: Good signature from "Friendica Security <security@friendi.ca>" [unknown]
friendica    | 2024-11-17T17:25:35.908842394Z gpg: WARNING: This key is not certified with a trusted signature!
friendica    | 2024-11-17T17:25:35.908854468Z gpg:          There is no indication that the signature belongs to the owner.
friendica    | 2024-11-17T17:25:35.908861227Z Primary key fingerprint: 0865 6443 618E 6567 A395  2408 3EE1 97EF 3F9E 4287
friendica    | 2024-11-17T17:25:35.909874787Z Core sources (2024.09-dev) verified
friendica    | 2024-11-17T17:25:37.553251629Z Core sources (2024.09-dev) extracted
friendica    | 2024-11-17T17:25:38.885264782Z gpg: Signature made Sun Oct  6 13:13:56 2024 UTC
friendica    | 2024-11-17T17:25:38.885329318Z gpg:                using RSA key 08656443618E6567A39524083EE197EF3F9E4287
friendica    | 2024-11-17T17:25:38.886516858Z gpg: Good signature from "Friendica Security <security@friendi.ca>" [unknown]
friendica    | 2024-11-17T17:25:38.886750984Z gpg: WARNING: This key is not certified with a trusted signature!
friendica    | 2024-11-17T17:25:38.887091313Z gpg:          There is no indication that the signature belongs to the owner.
friendica    | 2024-11-17T17:25:38.887107109Z Primary key fingerprint: 0865 6443 618E 6567 A395  2408 3EE1 97EF 3F9E 4287
friendica    | 2024-11-17T17:25:38.888085392Z Addon sources (2024.09-dev) verified
friendica    | 2024-11-17T17:25:39.733217888Z Addon sources (2024.09-dev) extracted
friendica    | 2024-11-17T17:25:39.781339875Z Initializing Friendica 2024.09-dev ...
friendica    | 2024-11-17T17:25:41.829109641Z Initializing finished
friendica    | 2024-11-17T17:25:41.829197825Z New Friendica instance
friendica    | 2024-11-17T17:25:41.857010935Z Installation with environment variables
friendica    | 2024-11-17T17:25:41.857072508Z Waiting for MySQL mariadb initialization...
friendica    | 2024-11-17T17:25:56.941488111Z ...............
friendica    | 2024-11-17T17:25:56.954188441Z Starting Friendica installation ...
friendica    | 2024-11-17T17:25:57.121631090Z Initializing setup...
friendica    | 2024-11-17T17:25:57.260181237Z  Complete!
friendica    | 2024-11-17T17:25:57.260293217Z
friendica    | 2024-11-17T17:25:57.260301513Z Checking environment...
friendica    | 2024-11-17T17:25:59.890105301Z  NOTICE: Not checking .htaccess/URL-Rewrite during CLI installation.
friendica    | 2024-11-17T17:25:59.890241688Z
friendica    | 2024-11-17T17:25:59.890251355Z  Complete!
friendica    | 2024-11-17T17:25:59.890257521Z
friendica    | 2024-11-17T17:25:59.890263188Z Creating config file...
friendica    | 2024-11-17T17:25:59.932006056Z  Complete!
friendica    | 2024-11-17T17:25:59.932052907Z
friendica    | 2024-11-17T17:25:59.932060185Z Checking database...
friendica    | 2024-11-17T17:25:59.937764016Z  Complete!
friendica    | 2024-11-17T17:25:59.937831644Z
friendica    | 2024-11-17T17:25:59.937867718Z Inserting data into database...
friendica    | 2024-11-17T17:25:59.937876051Z
friendica    | 2024-11-17T17:26:01.292847261Z  Complete!
friendica    | 2024-11-17T17:26:01.292918093Z
friendica    | 2024-11-17T17:26:01.292925815Z Installing theme
friendica    | 2024-11-17T17:26:01.312283575Z  Complete
friendica    | 2024-11-17T17:26:01.312384721Z
friendica    | 2024-11-17T17:26:01.312394332Z
friendica    | 2024-11-17T17:26:01.312400221Z Installation is finished
friendica    | 2024-11-17T17:26:01.329587195Z Installation finished
friendica    | 2024-11-17T17:26:01.499979768Z [Sun Nov 17 17:26:01.499607 2024] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.62 (Debian) PHP/8.2.25 configured -- resuming normal operations
friendica    | 2024-11-17T17:26:01.500060304Z [Sun Nov 17 17:26:01.499753 2024] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
friendica    | 2024-11-17T17:26:43.447902870Z 172.19.0.3 - - [17/Nov/2024:17:26:43 +0000] "GET / HTTP/1.1" 404 606 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0"
friendica    | 2024-11-17T17:26:47.182543788Z 172.19.0.3 - - [17/Nov/2024:17:26:47 +0000] "GET / HTTP/1.1" 404 538 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0"
friendica    | 2024-11-17T17:26:47.547606606Z 172.19.0.3 - - [17/Nov/2024:17:26:47 +0000] "GET /favicon.ico HTTP/1.1" 404 538 "https://f.a80.fr/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0"
$ docker exec friendica ls -alh /usr/src/friendica
total 508K
drwxr-xr-x 14 root root 4.0K Nov 17 17:25 .
drwxr-xr-x  1 root root 4.0K Nov 17 17:25 ..
-rw-r--r--  1 root root 1.7K Nov 15 19:00 .htaccess-dist
-rw-r--r--  1 root root 139K Nov 15 19:00 CHANGELOG
-rw-r--r--  1 root root 4.7K Nov 15 19:00 CREDITS.txt
-rw-r--r--  1 root root  34K Nov 15 19:00 LICENSE
-rw-r--r--  1 root root 1.9K Nov 15 19:00 README.md
-rw-r--r--  1 root root   12 Nov 15 19:00 VERSION
drwxr-xr-x 94 root root 4.0K Nov 17 17:25 addon
drwxr-xr-x  2 root root 4.0K Nov 17 17:25 bin
drwxr-xr-x  2 root root 4.0K Nov 17 17:25 config
-rw-r--r--  1 root root 189K Nov 15 19:00 database.sql
drwxr-xr-x  6 root root 4.0K Nov 15 19:00 doc
drwxr-xr-x  5 root root 4.0K Nov 15 19:00 images
-rw-r--r--  1 root root 1.6K Nov 15 19:00 index.php
drwxr-xr-x  2 root root 4.0K Nov 15 19:00 mod
drwxr-xr-x  3 root root 4.0K Nov 15 19:00 mods
-rw-r--r--  1 root root  219 Nov 15 19:00 security.txt
drwxr-xr-x  2 root root 4.0K Nov 15 19:00 spec
drwxr-xr-x 26 root root 4.0K Nov 15 19:00 src
drwxr-xr-x  2 root root 4.0K Nov 15 19:00 static
-rw-r--r--  1 root root  49K Nov 15 19:00 update.php
drwxr-xr-x 42 root root 4.0K Nov 15 19:01 vendor
drwxr-xr-x 11 root root 4.0K Nov 15 19:01 view
$ docker exec friendica ls -alh /var/www/html
total 508K
drwxrwxrwt 14 www-data www-data 4.0K Nov 17 17:25 .
drwxrwxr-x  1 www-data root     4.0K Nov 17 17:25 ..
-rw-r--r--  1 root     root     1.7K Nov 17 17:25 .htaccess
-rw-r--r--  1 www-data www-data 1.7K Nov 17 17:25 .htaccess-dist
-rw-r--r--  1 www-data www-data 139K Nov 17 17:25 CHANGELOG
-rw-r--r--  1 www-data www-data 4.7K Nov 17 17:25 CREDITS.txt
-rw-r--r--  1 www-data www-data  34K Nov 17 17:25 LICENSE
-rw-r--r--  1 www-data www-data 1.9K Nov 17 17:25 README.md
-rw-r--r--  1 www-data www-data   12 Nov 17 17:25 VERSION
drwxr-xr-x 94 www-data www-data 4.0K Nov 17 17:25 addon
drwxr-xr-x  2 www-data www-data 4.0K Nov 17 17:25 bin
drwxr-xr-x  2 www-data www-data 4.0K Nov 17 17:25 config
-rw-r--r--  1 www-data www-data 189K Nov 17 17:25 database.sql
drwxr-xr-x  6 www-data www-data 4.0K Nov 17 17:25 doc
-rw-r--r--  1 root     root        0 Nov 17 17:25 friendica-init-sync.lock
drwxr-xr-x  5 www-data www-data 4.0K Nov 17 17:25 images
-rw-r--r--  1 www-data www-data 1.6K Nov 17 17:25 index.php
drwxr-xr-x  2 www-data www-data 4.0K Nov 17 17:25 mod
drwxr-xr-x  3 www-data www-data 4.0K Nov 17 17:25 mods
-rw-r--r--  1 www-data www-data  219 Nov 17 17:25 security.txt
drwxr-xr-x  2 www-data www-data 4.0K Nov 17 17:25 spec
drwxr-xr-x 26 www-data www-data 4.0K Nov 17 17:25 src
drwxr-xr-x  2 www-data www-data 4.0K Nov 17 17:25 static
-rw-r--r--  1 www-data www-data  49K Nov 17 17:25 update.php
drwxr-xr-x 42 www-data www-data 4.0K Nov 17 17:25 vendor
drwxr-xr-x 11 www-data www-data 4.0K Nov 17 17:25 view

I will try to get back to it later.

ne20002 commented 6 days ago

I have a setup with the fpm rc version running. So image works basically. The question why there is a problem with the /install may be related to either something missing in the images that is required for install. It can also still be a problem in friendica source or something different ....

I can't look into it for at least two weeks but will do if it is not resolved by until then. I still think the source of the white page may include the best hint. So this would help.

Alkarex commented 6 days ago
<html>
    <head>
        <title>Not Found</title>
    </head>
    <body>
        <h1>Not Found</h1>
        <p>The requested resource could not be found but may be available in the future.</p>
                <pre>Request: 673a4b30b0296</pre>
        </body>
</html>
ne20002 commented 6 days ago

Hmm In 266 we have 200 with 4k response size for the white page so I hoped for a callstack.

As written, I will look into it after my holidays if not resolved until then.