First commit
This commit is contained in:
commit
95707101eb
5 changed files with 177 additions and 0 deletions
39
Bastillefile
Normal file
39
Bastillefile
Normal file
|
@ -0,0 +1,39 @@
|
|||
ARG WALLABAG_VERSION=2.4.2
|
||||
ARG DBNAME=wallabag
|
||||
ARG DBUSER=u_wallabag
|
||||
ARG DBPASS=mypass
|
||||
ARG SECRET=mysecret
|
||||
ARG FQDN=http://${JAIL_IP}
|
||||
ARG LOCALE=en
|
||||
|
||||
PKG php74-session php74-ctype php74-dom php74-simplexml php74-json php74-gd php74-mbstring php74-xml php74-tidy php74-iconv php74-curl php74-gettext php74-tokenizer php74-bcmath php74-intl php74-pdo_pgsql php74-composer php74-sockets php74-xmlreader php74-zlib postgresql12-server nginx git
|
||||
|
||||
SYSRC postgresql_enable=YES
|
||||
SYSRC php_fpm_enable=YES
|
||||
SYSRC nginx_enable=YES
|
||||
|
||||
CP etc /usr/local/
|
||||
|
||||
# Service, sysvshm must be new in jail.conf or postgre
|
||||
SERVICE postgresql initdb
|
||||
SERVICE postgresql start
|
||||
SERVICE php-fpm start
|
||||
SERVICE nginx start
|
||||
|
||||
# Create role and database
|
||||
CMD echo "CREATE ROLE ${DBUSER} WITH LOGIN ENCRYPTED PASSWORD '${DBPASS}'" | su postgres -c psql
|
||||
CMD echo "CREATE DATABASE ${DBNAME} OWNER ${DBUSER};" | su postgres -c psql
|
||||
CMD echo "GRANT ALL PRIVILEGES ON DATABASE ${DBNAME} TO ${DBUSER};" | su postgres -c psql
|
||||
|
||||
# Download wallabag
|
||||
CMD mkdir -p /usr/local/www/wallabag
|
||||
CMD git clone --branch ${WALLABAG_VERSION} --depth 1 https://github.com/wallabag/wallabag.git /usr/local/www/wallabag
|
||||
CP www /usr/local
|
||||
|
||||
# Process config file
|
||||
RENDER /usr/local/www/wallabag/app/config/parameters.yml
|
||||
|
||||
# Launch installation via composer
|
||||
CMD chown -R nobody:nobody /usr/local/www/wallabag
|
||||
CMD cd /usr/local/www/wallabag && su -m nobody -c "composer install --no-dev --no-cache -o --no-scripts"
|
||||
CMD cd /usr/local/www/wallabag && su -m nobody -c "php bin/console wallabag:install --env=prod -n"
|
21
README.md
Normal file
21
README.md
Normal file
|
@ -0,0 +1,21 @@
|
|||
Wallabag Bastille Template
|
||||
--------------------------
|
||||
|
||||
Template for [Wallabag](https://wallabag.org) application configured with Nginx,
|
||||
PostgreSQL and PHP-FPM. For PostgreSQL, you need to activate `sysvshm` with:
|
||||
|
||||
```
|
||||
bastille config <target> set sysvshm new && bastille restart <target>
|
||||
```
|
||||
|
||||
before applying this template.
|
||||
|
||||
## Template variables
|
||||
|
||||
List of variables of this template:
|
||||
|
||||
* `WALLABAG_VERSION`: version of wallabag to install
|
||||
* `DBNAME`, `DBUSER`, `DBPASS`: database parameters
|
||||
* `SECRET`: value of Wallabag secret parameter
|
||||
* `FQDN`: domain name for Wallabag
|
||||
* `LOCALE`: locale for wallabag parameter
|
41
etc/nginx/nginx.conf
Normal file
41
etc/nginx/nginx.conf
Normal file
|
@ -0,0 +1,41 @@
|
|||
user www www;
|
||||
worker_processes auto;
|
||||
error_log /var/log/nginx/error.log;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
include mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
access_log /var/log/nginx/access.log;
|
||||
|
||||
sendfile on;
|
||||
keepalive_timeout 65;
|
||||
|
||||
server {
|
||||
listen 80 default_server;
|
||||
root /usr/local/www/wallabag/web;
|
||||
index index.php;
|
||||
location / {
|
||||
# try to serve file directly, fallback to app.php
|
||||
try_files $uri /app.php$is_args$args;
|
||||
}
|
||||
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root /usr/local/www/nginx-dist;
|
||||
}
|
||||
|
||||
location ~ ^/app\.php(/|$) {
|
||||
try_files $uri =404;
|
||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||
fastcgi_pass unix:/var/run/php-fpm_wallabag.sock;
|
||||
fastcgi_index index.php;
|
||||
fastcgi_param SCRIPT_FILENAME $request_filename;
|
||||
include fastcgi_params;
|
||||
}
|
||||
}
|
||||
}
|
13
etc/php-fpm.d/www.conf
Normal file
13
etc/php-fpm.d/www.conf
Normal file
|
@ -0,0 +1,13 @@
|
|||
[wallabag]
|
||||
user = nobody
|
||||
group = nobody
|
||||
listen = /var/run/php-fpm_wallabag.sock
|
||||
listen.owner = www
|
||||
listen.group = www
|
||||
|
||||
pm = dynamic
|
||||
pm.max_children = 5
|
||||
pm.start_servers = 2
|
||||
pm.min_spare_servers = 1
|
||||
pm.max_spare_servers = 3
|
||||
|
63
www/wallabag/app/config/parameters.yml
Normal file
63
www/wallabag/app/config/parameters.yml
Normal file
|
@ -0,0 +1,63 @@
|
|||
parameters:
|
||||
database_driver: pdo_pgsql
|
||||
database_host: null
|
||||
database_port: 5432
|
||||
database_name: ${DBNAME}
|
||||
database_user: ${DBUSER}
|
||||
database_password: ${DBPASS}
|
||||
database_path: null
|
||||
database_table_prefix: wallabag_
|
||||
database_socket: /tmp/.s.PGSQL.5432
|
||||
database_charset: utf8
|
||||
|
||||
domain_name: ${FQDN}
|
||||
|
||||
mailer_transport: smtp
|
||||
mailer_user:
|
||||
mailer_password:
|
||||
mailer_host:
|
||||
mailer_port:
|
||||
mailer_encryption:
|
||||
mailer_auth_mode:
|
||||
|
||||
locale: ${LOCALE}
|
||||
|
||||
# A secret key that's used to generate certain security-related tokens
|
||||
secret: ${SECRET}
|
||||
|
||||
# two factor stuff
|
||||
twofactor_auth:
|
||||
twofactor_sender:
|
||||
|
||||
# fosuser stuff
|
||||
fosuser_registration: false
|
||||
fosuser_confirmation: false
|
||||
|
||||
# how long the access token should live in seconds for the API
|
||||
fos_oauth_server_access_token_lifetime: 3600
|
||||
# how long the refresh token should life in seconds for the API
|
||||
fos_oauth_server_refresh_token_lifetime: 1209600
|
||||
|
||||
from_email: no_user@noreply.com
|
||||
|
||||
rss_limit: 50
|
||||
|
||||
# RabbitMQ processing
|
||||
rabbitmq_host: localhost
|
||||
rabbitmq_port: 5672
|
||||
rabbitmq_user: guest
|
||||
rabbitmq_password: guest
|
||||
rabbitmq_prefetch_count: 10
|
||||
|
||||
# Redis processing
|
||||
redis_scheme:
|
||||
redis_host:
|
||||
redis_port:
|
||||
redis_path:
|
||||
redis_password:
|
||||
|
||||
# sentry logging
|
||||
sentry_dsn: null
|
||||
|
||||
# User-friendly name of your instance for 2FA issuer
|
||||
server_name:
|
Loading…
Add table
Add a link
Reference in a new issue