piston/api/src/docker-entrypoint.sh

30 lines
865 B
Bash
Executable File

#!/bin/bash
CGROUP_FS="/sys/fs/cgroup"
if [ ! -e "$CGROUP_FS" ]; then
echo "Cannot find $CGROUP_FS. Please make sure your system is using cgroup v2"
exit 1
fi
if [ -e "$CGROUP_FS/unified" ]; then
echo "Combined cgroup v1+v2 mode is not supported. Please make sure your system is using pure cgroup v2"
exit 1
fi
if [ ! -e "$CGROUP_FS/cgroup.subtree_control" ]; then
echo "Cgroup v2 not found. Please make sure cgroup v2 is enabled on your system"
exit 1
fi
cd /sys/fs/cgroup && \
mkdir isolate/ && \
echo 1 > isolate/cgroup.procs && \
echo '+cpuset +cpu +io +memory +pids' > cgroup.subtree_control && \
cd isolate && \
mkdir init && \
echo 1 > init/cgroup.procs && \
echo '+cpuset +memory' > cgroup.subtree_control && \
echo "Initialized cgroup" && \
chown -R piston:piston /piston && \
exec su -- piston -c 'ulimit -n 65536 && node /piston_api/src'