[ADD][WIP]Lutim work... should be abandoned for simpler configuration

This commit is contained in:
Fabien BOURGEOIS 2018-06-13 13:47:00 +02:00
parent 7685b14661
commit d97cd98130
5 changed files with 136 additions and 0 deletions

21
lutim/.drone.yml Normal file
View File

@ -0,0 +1,21 @@
pipeline:
build:
image: xataz/docker-drone-plugin
repo: xataz/lutim
action: build
volumes:
- /var/run/docker.sock:/var/run/docker.sock
push:
image: xataz/docker-drone-plugin
repo: xataz/lutim
action: push
environment:
- UID=1000
- GID=991
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /home/xataz/.docker/config.json:/docker/.docker/config.json
when:
branch: master
event: [push, tag, deployment]

69
lutim/Dockerfile Normal file
View File

@ -0,0 +1,69 @@
FROM xataz/alpine:3.7
ARG LUTIM_VER=0.10.4
ENV GID=991 \
UID=991 \
CONTACT=contact@domain.tld \
WEBROOT=/ \
SECRET=e7c0b28877f7479fe6711720475dcbbd \
MAX_FILE_SIZE=10000000000 \
DEFAULT_DELAY=1 \
MAX_DELAY=0
LABEL description="lutim based on alpine" \
tags="latest 0.10.4 0.10 0" \
maintainer="xataz <https://github.com/xataz>" \
build_ver="201806070431"
RUN BUILD_DEPS="build-base \
libressl-dev \
ca-certificates \
git \
tar \
perl-dev \
libidn-dev \
wget \
postgresql-dev \
gnupg \
zlib-dev \
mariadb-dev \
perl-devel-checklib" \
&& apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.5/main ${BUILD_DEPS} \
libressl \
perl \
libidn \
perl-crypt-rijndael \
perl-test-manifest \
perl-dbi \
imagemagick==6.9.6.8-r1 \
imagemagick-dev==6.9.6.8-r1 \
shared-mime-info \
tini \
su-exec \
postgresql-libs \
&& echo | cpan \
&& cpan install Carton \
&& cd / \
&& git clone -b ${LUTIM_VER} https://git.framasoft.org/luc/lutim.git /usr/lutim \
&& echo "requires 'Image::Magick';" >> /usr/lutim/cpanfile \
&& echo "requires 'Mojolicious::Plugin::AssetPack::Backcompat';" >> /usr/lutim/cpanfile \
&& cd /usr/lutim \
&& rm -rf cpanfile.snapshot \
&& carton install \
&& apk del --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.5/main ${BUILD_DEPS} imagemagick-dev \
&& rm -rf /var/cache/apk/* /root/.cpan* /usr/lutim/local/cache/*
VOLUME /usr/lutim/data/ /usr/lutim/files
EXPOSE 8181
ADD lutim.conf /usr/lutim/lutim.conf
ADD startup /usr/local/bin/startup
RUN chmod +x /usr/local/bin/startup
RUN addgroup lutim && adduser -H -s /bin/sh -D -G lutim lutim
RUN mkdir -p /usr/lutim/data /usr/lutim/files
RUN chown -R lutim:lutim /usr/lutim/
CMD ["/usr/local/bin/startup"]

7
lutim/base.yml Normal file
View File

@ -0,0 +1,7 @@
version: '2.2'
services:
lutim:
build:
context: .
dockerfile: Dockerfile
image: registry.yaltik.net/lutim:latest

24
lutim/lutim.conf Normal file
View File

@ -0,0 +1,24 @@
{
hypnotoad => {
listen => ['http://0.0.0.0:8181'],
},
contact => '<contact>',
secrets => ['<secret>'],
theme => 'default',
length => 8,
crypto_key_length => 8,
provis_step => 5,
provisioning => 100,
anti_flood_delay => 5,
max_file_size => <max_file_size>,
default_delay => <default_delay>,
max_delay => <max_delay>,
always_encrypt => 1,
token_length => 24,
stats_day_num => 365,
keep_ip_during => 365,
policy_when_full => 'warn',
prefix => '<webroot>',
db_path => '/usr/lutim/data/lutim.db',
delete_no_longer_viewed_files => 90
};

15
lutim/startup Normal file
View File

@ -0,0 +1,15 @@
#!/bin/sh
# addgroup -g ${GID} lutim && adduser -H -s /bin/sh -D -G lutim -u ${UID} lutim
#
# mkdir -p /usr/lutim/data /usr/lutim/files
# chown -R lutim:lutim /usr/lutim/
sed -i -e 's|<secret>|'${SECRET}'|' \
-e 's|<contact>|'${CONTACT}'|' \
-e 's|<max_file_size>|'${MAX_FILE_SIZE}'|' \
-e 's|<webroot>|'${WEBROOT}'|' \
-e 's|<default_delay>|'${DEFAULT_DELAY}'|' \
-e 's|<max_delay>|'${MAX_DELAY}'|' /usr/lutim/lutim.conf
cd /usr/lutim && /usr/local/bin/carton exec hypnotoad -f /usr/lutim/script/lutim