1
0
mirror of https://github.com/wallabag/docker synced 2025-12-13 01:36:28 +00:00

35 Commits

Author SHA1 Message Date
Jérémy Benoist
1e28e25500 Merge pull request #467 from paper42/upgrades-2025 2025-11-27 06:52:35 +01:00
Emi Vasilková
bfb9e7dc40 dependency upgrades
* use LTS version of composer
* use a maintained version of alpine
* upgrade php to 8.4 (because 8.1 was dropped from alpine and it's
  almost EOL)
2025-11-27 00:33:12 +01:00
Jérémy Benoist
b133e9559d Merge pull request #466 from wallabag/dependabot/github_actions/actions/checkout-6 2025-11-24 06:52:21 +01:00
dependabot[bot]
b0b760a765 Bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 03:28:14 +00:00
Jérémy Benoist
480d3833bc Merge pull request #464 from wallabag/release/2.6.14
Prepare 2.6.14
2025-10-07 10:16:19 +02:00
Jérémy Benoist
42981284a6 Prepare 2.6.14 2025-10-07 09:50:42 +02:00
Jérémy Benoist
91a399d3bb Merge pull request #461 from wallabag/dependabot/github_actions/actions/setup-python-6 2025-09-08 07:04:05 +02:00
dependabot[bot]
ccb4b25562 Bump actions/setup-python from 5 to 6
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 02:16:41 +00:00
Jérémy Benoist
c8b95ac15b Merge pull request #459 from kentahikaru/wallabag-and-rabbitmq-in-docker
rabbitmq support in docker
2025-08-25 08:25:05 +02:00
kentahikaru
25a2e3de71 modified parameters template so it supports rabbitmq configuration from environment variables 2025-08-23 15:54:51 +02:00
Kevin Decherf
b522c24645 Merge pull request #458 from wallabag/dependabot/github_actions/actions/checkout-5
Bump actions/checkout from 4 to 5
2025-08-18 10:00:04 +02:00
dependabot[bot]
2ed6cbca1c Bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-18 04:35:45 +00:00
Kevin Decherf
9dd6c5b52b Merge pull request #452 from wallabag/impr/updates
Update Alpine base image, envsubst and composer
2025-07-18 13:00:47 +02:00
Kevin Decherf
0e11114336 Update composer to 2.8.10
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2025-07-18 01:04:02 +02:00
Kevin Decherf
6379d9b90f Update base image to Alpine 3.19
Security support on Alpine 3.18 ended on 09 May 2025.
Moving to 3.19 gives us new updates until Nov 2025 while keeping PHP 8.1

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2025-07-18 01:01:12 +02:00
Kevin Decherf
e1fafcc31f Update envsubst to v1.4.3
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2025-07-17 17:21:44 +02:00
Jérémy Benoist
7d2f4919c6 Merge pull request #426 from boraozgen/readme-update
Update example compose file mariadb healthcheck command
2025-06-05 09:01:48 +02:00
Nicolas Lœuillet
096ea7f79c Merge pull request #443 from wallabag/release-2613
Prepare 2.6.13 release
2025-06-04 17:48:01 +02:00
Nicolas Lœuillet
2c1ec84dc7 Prepare 2.6.13 release 2025-06-04 17:37:11 +02:00
Kevin Decherf
488814d187 Merge pull request #440 from wallabag/impr/nginx-dualstack
Support dualstack listen on nginx
2025-04-29 22:56:19 +02:00
Kevin Decherf
3808b524fc Support dualstack listen on nginx
Fixes #422
Supersedes #435

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2025-04-20 17:22:46 +02:00
Kevin Decherf
dd237ec16e Merge pull request #430 from caspermeijn/healthcheck
Add healthcheck to image
2025-04-20 12:58:45 +02:00
Jérémy Benoist
84756ac1fd Merge pull request #439 from deviantintegral/add-opcache
Install the opcache extension #162
2025-04-17 09:10:15 +02:00
Andrew Berry
60ce6d2e4f Install the opcache extension #162 2025-04-16 21:01:34 -04:00
Yassine Guedidi
b228deb919 Merge pull request #437 from wallabag/prepare-2.6.12-release
Prepare 2.6.12 release
2025-04-10 13:55:21 +02:00
Yassine Guedidi
52afa94c77 Prepare 2.6.12 release 2025-04-10 12:08:12 +02:00
Yassine Guedidi
55976e23e5 Merge pull request #436 from wallabag/prepare-2.6.11-release
Prepare 2.6.11 release
2025-04-08 23:09:59 +02:00
Yassine Guedidi
3975a28546 Prepare 2.6.11 release 2025-03-30 06:38:09 +02:00
Kevin Decherf
0e58189b97 Merge pull request #431 from Luensche/patch-1
Update README.md
2025-01-23 20:11:14 +01:00
Björn Engel
2d96e30450 Update README.md
Version in docker-compose.yaml is obsolete.
2025-01-07 21:40:29 +01:00
Casper Meijn
424642d3b9 Add healthcheck to image
- Move the healthcheck from the docker-compose example to the actual image. That makes sure all user of the image automatically get the healthcheck.
- Change to `curl --fail || exit 1` as suggested in [docker documentation](https://docs.docker.com/reference/dockerfile/#healthcheck)
- Add `--silent --show-error` so that docker health state contains the output of the HTTP call instead of curl progress bar
- Set the user agent to make the logs more readable
2024-12-24 16:56:22 +01:00
Kevin Decherf
364b1b3d84 Merge pull request #428 from wallabag/2.6.x
Backport 2.6.10 into master
2024-11-19 21:10:09 +01:00
Bora Özgen
923dffae55 Update example compose file mariadb healthcheck command 2024-11-12 09:22:30 +01:00
Jérémy Benoist
d1c4800a3e Merge pull request #427 from wallabag/fix/update-ci
Update CI
2024-11-12 09:22:12 +01:00
Jeremy Benoist
4c3ff8a8ac Update CI
Allow dependabot to keep GA up to date.
2024-11-12 09:03:21 +01:00
9 changed files with 68 additions and 64 deletions

View File

@@ -12,3 +12,10 @@ updates:
versions: versions:
- ">= 3.11.a" - ">= 3.11.a"
- "< 3.12" - "< 3.12"
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: weekly
time: "04:00"
timezone: Europe/Paris
open-pull-requests-limit: 10

View File

@@ -13,16 +13,16 @@ jobs:
contents: read contents: read
steps: steps:
- name: Check out the repo - name: Check out the repo
uses: actions/checkout@v3 uses: actions/checkout@v6
- name: Log in to Docker Hub - name: Log in to Docker Hub
uses: docker/login-action@v2 uses: docker/login-action@v3
with: with:
username: ${{ secrets.DOCKER_USERNAME }} username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }} password: ${{ secrets.DOCKER_PASSWORD }}
- name: Log in to the Container registry - name: Log in to the Container registry
uses: docker/login-action@v2 uses: docker/login-action@v3
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.actor }} username: ${{ github.actor }}
@@ -30,23 +30,23 @@ jobs:
# Documentation: https://github.com/docker/setup-qemu-action # Documentation: https://github.com/docker/setup-qemu-action
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@v2 uses: docker/setup-qemu-action@v3
# Documentation: https://github.com/docker/setup-buildx-action # Documentation: https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx - name: Set up Docker Buildx
id: buildx id: buildx
uses: docker/setup-buildx-action@v2 uses: docker/setup-buildx-action@v3
- name: Extract metadata (tags, labels) for Docker - name: Extract metadata (tags, labels) for Docker
id: meta id: meta
uses: docker/metadata-action@v4 uses: docker/metadata-action@v5
with: with:
images: | images: |
wallabag/wallabag wallabag/wallabag
ghcr.io/${{ github.repository }} ghcr.io/${{ github.repository }}
- name: Build and push Docker images - name: Build and push Docker images
uses: docker/build-push-action@v3 uses: docker/build-push-action@v6
with: with:
context: . context: .
push: true push: true

View File

@@ -24,17 +24,17 @@ jobs:
steps: steps:
- name: "Checkout" - name: "Checkout"
uses: actions/checkout@v3 uses: actions/checkout@v6
with: with:
fetch-depth: 2 fetch-depth: 2
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v4 uses: actions/setup-python@v6
with: with:
python-version: 3.11 python-version: 3.11
- name: "Build image" - name: "Build image"
run: docker-compose -f tests/docker-compose.${{ matrix.database }}.yml build run: docker compose -f tests/docker-compose.${{ matrix.database }}.yml build
- name: "Install dependencies" - name: "Install dependencies"
run: pip install pytest pytest-docker requests run: pip install pytest pytest-docker requests
@@ -44,8 +44,8 @@ jobs:
- name: "Get docker logs" - name: "Get docker logs"
if: ${{ always() }} if: ${{ always() }}
run: docker-compose -p "wallabag_${{ matrix.database }}" -f tests/docker-compose.${{ matrix.database }}.yml logs wallabag run: docker compose -p "wallabag_${{ matrix.database }}" -f tests/docker-compose.${{ matrix.database }}.yml logs wallabag
- name: "Cleanup environment" - name: "Cleanup environment"
if: ${{ always() }} if: ${{ always() }}
run: docker-compose -p "wallabag_${{ matrix.database }}" -f tests/docker-compose.${{ matrix.database }}.yml down -v run: docker compose -p "wallabag_${{ matrix.database }}" -f tests/docker-compose.${{ matrix.database }}.yml down -v

View File

@@ -1,19 +1,19 @@
ARG COMPOSER_VERSION=2.5.8 ARG COMPOSER_VERSION=2.2
FROM composer:$COMPOSER_VERSION as composer FROM composer:$COMPOSER_VERSION AS composer
FROM golang:alpine as builder FROM golang:alpine AS builder
# envsubst from gettext can not replace env vars with default values # envsubst from gettext can not replace env vars with default values
# this package is not available for ARM32 and we have to build it from source code # this package is not available for ARM32 and we have to build it from source code
# flag -ldflags "-s -w" produces a smaller executable # flag -ldflags "-s -w" produces a smaller executable
RUN go install -ldflags "-s -w" -v github.com/a8m/envsubst/cmd/envsubst@v1.3.0 RUN go install -ldflags "-s -w" -v github.com/a8m/envsubst/cmd/envsubst@v1.4.3
FROM alpine:3.18 FROM alpine:3.22
COPY --from=builder /go/bin/envsubst /usr/bin/envsubst COPY --from=builder /go/bin/envsubst /usr/bin/envsubst
ARG WALLABAG_VERSION=2.6.10 ARG WALLABAG_VERSION=2.6.14
RUN set -ex \ RUN set -ex \
&& apk add --no-cache \ && apk add --no-cache \
@@ -21,42 +21,43 @@ RUN set -ex \
libwebp \ libwebp \
nginx \ nginx \
pcre \ pcre \
php81 \ php84 \
php81-bcmath \ php84-bcmath \
php81-ctype \ php84-ctype \
php81-curl \ php84-curl \
php81-dom \ php84-dom \
php81-fpm \ php84-fpm \
php81-gd \ php84-gd \
php81-gettext \ php84-gettext \
php81-iconv \ php84-iconv \
php81-json \ php84-json \
php81-mbstring \ php84-mbstring \
php81-openssl \ php84-opcache \
php81-pecl-amqp \ php84-openssl \
php81-pecl-imagick \ php84-pecl-amqp \
php81-pdo_mysql \ php84-pecl-imagick \
php81-pdo_pgsql \ php84-pdo_mysql \
php81-pdo_sqlite \ php84-pdo_pgsql \
php81-phar \ php84-pdo_sqlite \
php81-session \ php84-phar \
php81-simplexml \ php84-session \
php81-tokenizer \ php84-simplexml \
php81-xml \ php84-tokenizer \
php81-zlib \ php84-xml \
php81-sockets \ php84-zlib \
php81-xmlreader \ php84-sockets \
php81-tidy \ php84-xmlreader \
php81-intl \ php84-tidy \
php81-sodium \ php84-intl \
php84-sodium \
mariadb-client \ mariadb-client \
postgresql14-client \ postgresql17-client \
rabbitmq-c \ rabbitmq-c \
s6 \ s6 \
tar \ tar \
tzdata \ tzdata \
&& ln -sf /usr/bin/php81 /usr/bin/php \ && ln -sf /usr/bin/php84 /usr/bin/php \
&& ln -sf /usr/sbin/php-fpm81 /usr/sbin/php-fpm \ && ln -sf /usr/sbin/php-fpm84 /usr/sbin/php-fpm \
&& rm -rf /var/cache/apk/* \ && rm -rf /var/cache/apk/* \
&& ln -sf /dev/stdout /var/log/nginx/access.log \ && ln -sf /dev/stdout /var/log/nginx/access.log \
&& ln -sf /dev/stderr /var/log/nginx/error.log && ln -sf /dev/stderr /var/log/nginx/error.log
@@ -83,6 +84,8 @@ ENV PATH="${PATH}:/var/www/wallabag/bin"
# Set console entry path # Set console entry path
WORKDIR /var/www/wallabag WORKDIR /var/www/wallabag
HEALTHCHECK CMD curl --fail --silent --show-error --user-agent healthcheck http://localhost/api/info || exit 1
EXPOSE 80 EXPOSE 80
ENTRYPOINT ["/entrypoint.sh"] ENTRYPOINT ["/entrypoint.sh"]
CMD ["wallabag"] CMD ["wallabag"]

View File

@@ -109,7 +109,6 @@ $ docker exec -t NAME_OR_ID_OF_YOUR_WALLABAG_CONTAINER /var/www/wallabag/bin/con
An example [docker-compose](https://docs.docker.com/compose/) file can be seen below: An example [docker-compose](https://docs.docker.com/compose/) file can be seen below:
``` ```
version: '3'
services: services:
wallabag: wallabag:
image: wallabag/wallabag image: wallabag/wallabag
@@ -132,10 +131,6 @@ services:
- "80" - "80"
volumes: volumes:
- /opt/wallabag/images:/var/www/wallabag/web/assets/images - /opt/wallabag/images:/var/www/wallabag/web/assets/images
healthcheck:
test: ["CMD", "wget" ,"--no-verbose", "--tries=1", "--spider", "http://localhost/api/info"]
interval: 1m
timeout: 3s
depends_on: depends_on:
- db - db
- redis - redis
@@ -147,7 +142,7 @@ services:
volumes: volumes:
- /opt/wallabag/data:/var/lib/mysql - /opt/wallabag/data:/var/lib/mysql
healthcheck: healthcheck:
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"] test: ["CMD", "/usr/local/bin/healthcheck.sh", "--innodb_initialized"]
interval: 20s interval: 20s
timeout: 3s timeout: 3s
redis: redis:

View File

@@ -28,7 +28,7 @@ provisioner() {
# Replace environment variables # Replace environment variables
envsubst < /etc/wallabag/parameters.template.yml > app/config/parameters.yml envsubst < /etc/wallabag/parameters.template.yml > app/config/parameters.yml
envsubst < /etc/wallabag/php-wallabag.template.ini > /etc/php81/conf.d/50_wallabag.ini envsubst < /etc/wallabag/php-wallabag.template.ini > /etc/php84/conf.d/50_wallabag.ini
# Wait for external database # Wait for external database
if [ "$SYMFONY__ENV__DATABASE_DRIVER" = "pdo_mysql" ] || [ "$SYMFONY__ENV__DATABASE_DRIVER" = "pdo_pgsql" ] ; then if [ "$SYMFONY__ENV__DATABASE_DRIVER" = "pdo_mysql" ] || [ "$SYMFONY__ENV__DATABASE_DRIVER" = "pdo_pgsql" ] ; then

View File

@@ -35,8 +35,7 @@ http {
} }
server { server {
listen 80; listen [::]:80 ipv6only=off;
listen [::0]:80;
server_name _; server_name _;
root /var/www/wallabag/web; root /var/www/wallabag/web;

View File

@@ -36,11 +36,11 @@ parameters:
rss_limit: 50 rss_limit: 50
# RabbitMQ processing # RabbitMQ processing
rabbitmq_host: localhost rabbitmq_host: ${SYMFONY__ENV__RABBITMQ_HOST:-localhost}
rabbitmq_port: 5672 rabbitmq_port: ${SYMFONY__ENV__RABBITMQ_PORT:-5672}
rabbitmq_user: guest rabbitmq_user: ${SYMFONY__ENV__RABBITMQ_USER:-guest}
rabbitmq_password: guest rabbitmq_password: ${SYMFONY__ENV__RABBITMQ_PASSWORD:-guest}
rabbitmq_prefetch_count: 10 rabbitmq_prefetch_count: ${SYMFONY__ENV__RABBITMQ_PREFETCH_COUNT:-10}
# Redis processing # Redis processing
redis_scheme: ${SYMFONY__ENV__REDIS_SCHEME:-tcp} redis_scheme: ${SYMFONY__ENV__REDIS_SCHEME:-tcp}

View File

@@ -28,7 +28,7 @@ def docker_cleanup():
@pytest.fixture(scope="session") @pytest.fixture(scope="session")
def docker_compose_command() -> str: def docker_compose_command() -> str:
return "docker-compose" return "docker compose"
@pytest.fixture(scope="session") @pytest.fixture(scope="session")
def docker_compose_file(pytestconfig, database): def docker_compose_file(pytestconfig, database):