forked from tilde/ssh-reg
Darksider3
710ceacd7c
It began smelling already but having some duplicate code across the interfaces is still better than having all of it all over the place. It enables to write specific flags which are nice to have. For example, Import.py requires the --Import flag because it WANTS the user to read the whole Help before it acts actually as an importer. When the user supplies something they should know what's currently happening. Also removes the hardcoded dependency on lib.CFG-Calls from most calls which was already embarassingly present. Introduced some db and cfg-variables which doesnt clutter anything but suck much less. In future we provide a set of default arguments and a bare minimum - config_ui as the bare minimum, default as the full blown storm. This is rather big because it also patches several other smells including a bug where a user from the db wouldnt be reported as existent
44 lines
1.3 KiB
Docker
44 lines
1.3 KiB
Docker
FROM python:3-slim
|
|
|
|
MAINTAINER n1trux
|
|
RUN apt-get update &&\
|
|
apt-get -y upgrade &&\
|
|
DEBIAN_FRONTEND=noninteractive apt-get -y install \
|
|
nano rsync openssh-server acl
|
|
|
|
# Clean up APT when done.
|
|
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
# create user for applications
|
|
RUN useradd -Md /app/user/ -s /app/user/userapplication.py tilde
|
|
|
|
# make tilde's password empty
|
|
RUN passwd -d tilde
|
|
RUN usermod -U tilde
|
|
|
|
# add admin user
|
|
RUN useradd -Md /app/admin -s /app/admin/administrate.py admin
|
|
# privilege separation directory
|
|
RUN mkdir -p /var/run/sshd
|
|
# expose SSH port
|
|
EXPOSE 22
|
|
ENV TILDE_CONF="/app/data/applicationsconfig.ini"
|
|
|
|
# private/{scripts, administrate.py}, public/{scripts, userapplications.py}, config/userapplicatonsconfig.ini
|
|
#configs, logs, db
|
|
COPY config/applicationsconfig.ini /app/data/applicationsconfig.ini
|
|
#SSH config into /etc :)
|
|
COPY config/etc /etc
|
|
|
|
RUN touch /app/data/applications.sqlite
|
|
RUN touch /app/data/applications.log
|
|
# Doesnt work, @TODO why
|
|
#RUN setfacl -R -m u:tilde:rwx /app/data/
|
|
RUN chown -R tilde /app/data
|
|
# admin scripts
|
|
COPY private/ /app/admin/
|
|
|
|
# user accessible scripts
|
|
# Make TILDE_ENV
|
|
COPY public/ /app/user/
|
|
RUN mkdir /app/user/.ssh
|
|
CMD ["sh", "-c", " echo TILDE_CONF=$TILDE_CONF > /app/user/.ssh/environment && exec /usr/sbin/sshd -D"]
|