This commit is contained in:
bel
2021-09-14 06:29:17 -06:00
commit a71c585675
36 changed files with 700 additions and 0 deletions

9
kanboard/kanboard/kanboard.sh Executable file
View File

@@ -0,0 +1,9 @@
#! /bin/bash
echo USER admin PASS admin ON 8036
docker run --rm -it \
--name kanboard \
-p 8036:80 \
-v $(pwd)/kanboard-data:/var/www/app/data \
kanboard/kanboard:v1.2.5

View File

View File

@@ -0,0 +1,36 @@
FROM kanboard/kanboard:v1.2.14
RUN apk update \
&& apk add --no-cache \
postgresql \
dcron \
curl \
&& mkdir -p /var/lib/postgresql/12/main \
&& chown -R postgres:postgres /var/lib/postgresql \
&& chmod -R 750 /var/lib/postgresql \
&& su postgres -c "initdb -D /var/lib/postgresql/12/main/" \
&& mkdir -p /var/run/postgresql/ \
&& chown -R postgres:postgres /var/run/postgresql \
&& chmod -R 750 /var/run/postgresql
RUN su postgres -c 'postgres --config-file=/var/lib/postgresql/12/main/postgresql.conf -D /var/lib/postgresql/12/main' \
& until su postgres -c 'psql --command "CREATE USER admin WITH SUPERUSER PASSWORD '"'"'admin'"'"';"'; do sleep 1; done \
&& su postgres -c 'psql --command "CREATE DATABASE db;"' \
&& su postgres -c 'psql --command "GRANT ALL PRIVILEGES ON DATABASE db TO admin;"' \
&& kill %1 \
&& wait
RUN mkdir -p \
/etc/nginx/ssl \
/var/www/app/data \
/var/www/app/plugins \
&& chown -R nginx:nginx /var/www/app
RUN echo '0 */4 * * * bash -c "true; bash /backup.sh &>> /tmp/backup.log"' >> /etc/crontabs/root
ENV DATABASE_URL=postgres://admin:admin@127.0.0.1/db
COPY backup.sh /backup.sh
COPY restore.sh /restore.sh
CMD []
ENTRYPOINT ["bash", "-c", "true; clean() { bash /backup.sh; echo cleaned; exit 0; }; set -e; crond; (set -m; su postgres -c 'postgres --config-file=/var/lib/postgresql/12/main/postgresql.conf -D /var/lib/postgresql/12/main' & wait) &> /var/log/postgres.log & disown; until psql $DATABASE_URL < /dev/null; do sleep 1; done; bash /restore.sh; trap clean EXIT ERR INT; echo rm and start; rm -rf /etc/services.d/cron; bash /usr/local/bin/entrypoint.sh"]

View File

@@ -0,0 +1,14 @@
#! /bin/bash
date
mkdir -p /mnt/save
d=/mnt/save/$(date +%Y-%m-%d-%H-%M-%S).dump
echo backing up as $d...
pg_dump $DATABASE_URL --clean \
> $d \
|| rm -f $d
total=$(ls /mnt/save/* | wc -l)
to_del=$((total-${BACKUPS:-10}))
if ((to_del>0)); then
rm -f $(ls /mnt/save/* | head -n $to_del)
fi

View File

@@ -0,0 +1 @@
docker build -t bel/kanboard:v0.1 .

View File

@@ -0,0 +1,24 @@
data_directory = '/var/lib/postgresql/10/main' # use data in another directory
hba_file = '/etc/postgresql/10/main/pg_hba.conf' # host-based authentication file
ident_file = '/etc/postgresql/10/main/pg_ident.conf' # ident configuration file
external_pid_file = '/var/run/postgresql/10-main.pid' # write an extra PID file
port = 5432 # (change requires restart)
max_connections = 100 # (change requires restart)
unix_socket_directories = '/var/run/postgresql' # comma-separated list of directories
ssl = on
ssl_cert_file = '/etc/ssl/certs/ssl-cert-snakeoil.pem'
ssl_key_file = '/etc/ssl/private/ssl-cert-snakeoil.key'
shared_buffers = 128MB # min 128kB
dynamic_shared_memory_type = posix # the default is the first option
log_line_prefix = '%m [%p] %q%u@%d ' # special values:
log_timezone = 'America/Denver'
cluster_name = '10/main' # added to process titles if nonempty
stats_temp_directory = '/var/run/postgresql/10-main.pg_stat_tmp'
datestyle = 'iso, mdy'
timezone = 'America/Denver'
lc_messages = 'C.UTF-8' # locale for system error message
lc_monetary = 'C.UTF-8' # locale for monetary formatting
lc_numeric = 'C.UTF-8' # locale for number formatting
lc_time = 'C.UTF-8' # locale for time formatting
default_text_search_config = 'pg_catalog.english'
include_dir = 'conf.d' # include files ending in '.conf' from

View File

@@ -0,0 +1,18 @@
#! /bin/bash
until psql $DATABASE_URL < /dev/null; do
sleep 1
done
for f in /mnt/save/$(ls /mnt/save | sort -r); do
echo restore $f
psql $DATABASE_URL < $f &> /dev/null
ret=$?
echo restore result: $ret
# TODO server isn't started to assert db is OK
exit $ret
if [ $ret == 0 ]; then
if curl -sS -i localhost:80 | grep login; then
exit $ret
fi
fi
done

View File

@@ -0,0 +1,3 @@
#! /bin/bash
docker-compose up

View File

@@ -0,0 +1,33 @@
version: '2'
volumes:
restyaboard_db:
driver: local
restyaboard_media:
driver: local
services:
restyaboard:
image: restyaplatform/restyaboard:dev
environment:
POSTGRES_DB: restyaboard
POSTGRES_HOST: postgres
POSTGRES_PASSWORD: admin
POSTGRES_USER: admin
SMTP_DOMAIN: domain
SMTP_USERNAME: user
SMTP_PASSWORD: pass
SMTP_SERVER: server
SMTP_PORT: 465
TZ: Etc/UTC
volumes:
- restyaboard_media:/usr/share/nginx/html/media
ports:
- "8344:80"
postgres:
image: postgres:9-alpine
environment:
POSTGRES_DB: restyaboard
POSTGRES_HOST: postgres
POSTGRES_PASSWORD: admin
POSTGRES_USER: admin
volumes:
- restyaboard_db:/var/lib/postgresql/data

1
kanboard/restya/review Executable file
View File

@@ -0,0 +1 @@
cannot sign up/log in without valid smtp

View File

@@ -0,0 +1,11 @@
#! /bin/bash
img="staannoe/tracks"
tag="latest"
docker pull $img:$tag
docker run --rm -it \
--name ${img##*/} \
-p 8344:80 \
-v $(pwd)/mnt:/data \
$img:$tag

1
kanboard/tracks/review Executable file
View File

@@ -0,0 +1 @@
too much, red* was better