Compare commits

...

5 Commits

Author SHA1 Message Date
0ec2224b30 Merge a2ed3534e1 into 488814d187 2025-04-30 23:54:53 +02:00
a2ed3534e1 Merge branch 'master' into docker-secrets 2025-04-24 18:57:28 -04:00
dfc3a38db1 Early exit if can't read file 2021-01-21 11:14:22 -05:00
1b9008040e Test docker secrets 2021-01-21 11:14:17 -05:00
36b8864ca3 Add docker secret support 2021-01-20 11:27:29 -05:00
7 changed files with 47 additions and 0 deletions

View File

@ -21,6 +21,7 @@ jobs:
- "sqlite" - "sqlite"
- "mariadb" - "mariadb"
- "postgresql" - "postgresql"
- "postgresql-secret"
steps: steps:
- name: "Checkout" - name: "Checkout"

View File

@ -43,6 +43,8 @@ Default login is `wallabag:wallabag`.
- `-e SYMFONY__ENV__SERVER_NAME=...` (defaults to "Your wallabag instance". Specifies a user-friendly name for the 2FA issuer) - `-e SYMFONY__ENV__SERVER_NAME=...` (defaults to "Your wallabag instance". Specifies a user-friendly name for the 2FA issuer)
- `-e PHP_MEMORY_LIMIT=...` (allows you to change the PHP `memory_limit` value. defaults to 128M, and should be a number and unit, eg. 512K, 128M, 2G, or a number of bytes) - `-e PHP_MEMORY_LIMIT=...` (allows you to change the PHP `memory_limit` value. defaults to 128M, and should be a number and unit, eg. 512K, 128M, 2G, or a number of bytes)
To set any of these environment variables from a file (for instance a Docker Secret), append `__FILE` to the name of the environment variable.
## SQLite ## SQLite
The easiest way to start wallabag is to use the SQLite backend. You can spin that up with The easiest way to start wallabag is to use the SQLite backend. You can spin that up with

View File

@ -2,6 +2,16 @@
# Exit when any command fails # Exit when any command fails
set -e set -e
FILE_ENV_VARS="$(env | grep '__FILE=')"
for env_var in $FILE_ENV_VARS; do
var_name="$(echo $env_var | grep -o '.*__FILE=' | sed 's/__FILE=//g')"
file_path="$(echo $env_var | grep -o '__FILE=.*' | sed 's/__FILE=//g')"
file_content="$(cat $file_path)"
[[ ! $? -eq 0 ]] && exit 1 # Exit if last command failed
new_var="$(echo $var_name=$file_content)"
export $(echo $new_var | xargs)
done
COMMAND_ARG1="$1" COMMAND_ARG1="$1"
COMMAND_ARG2="$2" COMMAND_ARG2="$2"

View File

@ -0,0 +1 @@
wallapass

View File

@ -0,0 +1 @@
F00B4R

View File

@ -0,0 +1 @@
my-secret-pw

View File

@ -0,0 +1,31 @@
version: '2'
services:
wallabag:
build:
context: ../
image: wallabag:postgresql
container_name: wallabag
environment:
- POSTGRES_PASSWORD__FILE=/run/secrets/postgres_password
- POSTGRES_USER=my-super-user
- SYMFONY__ENV__SECRET__FILE=/run/secrets/env_secret
- SYMFONY__ENV__DATABASE_DRIVER=pdo_pgsql
- SYMFONY__ENV__DATABASE_HOST=db
- SYMFONY__ENV__DATABASE_PORT=5432
- SYMFONY__ENV__DATABASE_NAME=wallabag
- SYMFONY__ENV__DATABASE_USER=wallabag
- SYMFONY__ENV__DATABASE_PASSWORD__FILE=/run/secrets/db_password
ports:
- "127.0.0.1:80:80"
# Docker Secrets require Swarm Mode, so we use volumes instead to spoof the behaviour
volumes:
- ./credentials/db_password:/run/secrets/db_password
- ./credentials/postgres_password:/run/secrets/postgres_password
- ./credentials/env_secret:/run/secrets/env_secret
db:
image: postgres:10.3
environment:
- POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password
- POSTGRES_USER=my-super-user
volumes:
- ./credentials/postgres_password:/run/secrets/postgres_password