#!/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'