A modern, decentralized re-imagining of the Unix plan file. Running at https://dotplan.online.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
1.1 KiB

from alpine:latest
run apk add wget libsodium libsodium-dev cmake pkgconfig sqlite unzip build-base libmagic file-dev perl perl-dev perl-app-cpanminus perl-math-pari
run cpanm --configure-timeout 180 --notest IPC::Run DBD::SQLite Net::DNS::Resolver Crypt::Eksblowfish::Bcrypt JSON URI::Escape HTTP::Accept Net::Server HTTP::Server::Simple HTTP::Server::Simple::Static Crypt::Random Cache::FileCache
run mkdir -p /tmp/minisign && \
cd /tmp/minisign && \
wget -O minisign.zip https://github.com/jedisct1/minisign/archive/master.zip && \
unzip minisign.zip && \
cd minisign-master && \
mkdir build && \
cd build && \
cmake .. && \
make && \
make install
run rm -rf /tmp/minisign && \
mkdir -p /opt/data/plans
copy schema.sql /opt/data
run cat /opt/data/schema.sql | sqlite3 /opt/data/users.db
run rm /opt/data/schema.sql
run apk del build-base perl-dev perl-app-cpanminus wget sqlite unzip file-dev cmake pkgconfig libsodium-dev
copy static /opt/static
copy server.pl /opt
run adduser -u 1000 -h /opt -D dotplan
run chown -R dotplan:dotplan /opt
user dotplan
workdir /opt
entrypoint ["/usr/bin/perl", "server.pl"]