# See https://hub.docker.com/r/nikolaik/python-nodejs # https://github.com/nikolaik/docker-python-nodejs # Default user is 'pn' with uid 1000, gid 1000 FROM nikolaik/python-nodejs:python3.10-nodejs18 # Install nginx and give permissions to 'pn' # See https://www.rockyourcode.com/run-docker-nginx-as-non-root-user/ USER root RUN apt-get -y update && apt-get -y install nginx wget curl zip RUN apt-get update && apt-get install ffmpeg libsm6 libxext6 -y RUN mkdir -p /var/cache/nginx \ /var/log/nginx \ /var/lib/nginx RUN touch /var/run/nginx.pid RUN chown -R pn:pn /var/cache/nginx \ /var/log/nginx \ /var/lib/nginx \ /var/run/nginx.pid RUN wget https://raw.githubusercontent.com/coder/code-server/refs/heads/main/install.sh RUN bash install.sh RUN echo "c2VydmVyIHsgCiAgICBsaXN0ZW4gNTAwMCBkZWZhdWx0X3NlcnZlcjsgCiAgICBsaXN0ZW4gWzo6XTo1MDAwIGRlZmF1bHRfc2VydmVyOyAKCiAgICBzZXJ2ZXJfbmFtZSBfOyAKCiAgICBsb2NhdGlvbiAvdnNjb2RlIHsKICAgICAgICAjIFNlcnZlIFZTQ09ERSA3ODYwCiAgICAgICAgI3Jld3JpdGUgL3ZzY29kZS8oLiopIC8kMSBicmVhazsKICAgICAgICBwcm94eV9wYXNzIGh0dHA6Ly9sb2NhbGhvc3Q6Nzg2MDsKICAgICAgICBwcm94eV9odHRwX3ZlcnNpb24gMS4xOwogICAgICAgIHByb3h5X3NldF9oZWFkZXIgVXBncmFkZSAkaHR0cF91cGdyYWRlOwogICAgICAgIHByb3h5X3NldF9oZWFkZXIgQ29ubmVjdGlvbiAndXBncmFkZSc7CiAgICAgICAgcHJveHlfc2V0X2hlYWRlciBIb3N0ICRob3N0OwogICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1SZWFsLUlQICRyZW1vdGVfYWRkcjsKICAgICAgICBwcm94eV9zZXRfaGVhZGVyIFgtRm9yd2FyZGVkLUZvciAkcHJveHlfYWRkX3hfZm9yd2FyZGVkX2ZvcjsKICAgICAgICBwcm94eV9jYWNoZV9ieXBhc3MgJGh0dHBfdXBncmFkZTsKICAgICAgICBwcm94eV9yZWFkX3RpbWVvdXQgODY0MDA7CiAgICAgICAgcHJveHlfcmVkaXJlY3Qgb2ZmOwogICAgfQoKICAgIGxvY2F0aW9uIC8gewogICAgICAgICMgU2VydmUgSUEgZnJvbSBwb3J0IAogICAgICAgIAogICAgICAgIHByb3h5X3Bhc3MgaHR0cDovL2xvY2FsaG9zdDo3ODYxOwogICAgICAgIHByb3h5X2h0dHBfdmVyc2lvbiAxLjE7CiAgICAgICAgcHJveHlfc2V0X2hlYWRlciBVcGdyYWRlICRodHRwX3VwZ3JhZGU7CiAgICAgICAgcHJveHlfc2V0X2hlYWRlciBDb25uZWN0aW9uICd1cGdyYWRlJzsKICAgICAgICBwcm94eV9zZXRfaGVhZGVyIEhvc3QgJGhvc3Q7CiAgICAgICAgcHJveHlfc2V0X2hlYWRlciBYLVJlYWwtSVAgJHJlbW90ZV9hZGRyOwogICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1Gb3J3YXJkZWQtRm9yICRwcm94eV9hZGRfeF9mb3J3YXJkZWRfZm9yOwogICAgICAgIHByb3h5X2NhY2hlX2J5cGFzcyAkaHR0cF91cGdyYWRlOwogICAgICAgIHByb3h5X3JlYWRfdGltZW91dCA4NjQwMDsKICAgICAgICBwcm94eV9yZWRpcmVjdCBvZmY7CiAgICB9Cn0=" | base64 --decode>hola.conf RUN chmod 777 ./hola.conf RUN cp ./hola.conf /etc/nginx/sites-available/default # Install dependencies and build app as non-root USER pn ENV HOME=/home/pn \ PATH=/home/pn/.local/bin:$PATH RUN mkdir $HOME/app WORKDIR $HOME/app COPY --chown=pn . . RUN mkdir -p /var/cache/nginx \ /var/log/nginx \ /var/lib/nginx RUN touch /var/run/nginx.pid RUN chown -R pn:pn /var/cache/nginx \ /var/log/nginx \ /var/lib/nginx \ /var/run/nginx.pid USER pn RUN git clone https://github.com/rupeshs/fastsdcpu.git RUN chmod +x fastsdcpu/install.sh # RUN cd fastsdcpu;./install.sh;cd .. EXPOSE 5000 EXPOSE 7860 EXPOSE 7861 RUN service nginx start CMD /usr/bin/code-server --bind-addr 0.0.0.0 --port 7861 --auth none #CMD bash run.sh