mirror of
				https://github.com/linuxserver/docker-heimdall.git
				synced 2025-10-31 21:17:39 +09:00 
			
		
		
		
	modify development branch to include an IDE and be self contained
This commit is contained in:
		
							
								
								
									
										53
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										53
									
								
								Dockerfile
									
									
									
									
									
								
							| @@ -1,3 +1,4 @@ | ||||
| FROM lsiobase/cloud9:files-alpine as c9files | ||||
| FROM lsiobase/nginx:3.10 | ||||
|  | ||||
| # set version label | ||||
| @@ -10,7 +11,30 @@ LABEL maintainer="aptalca" | ||||
| # environment settings | ||||
| ENV S6_BEHAVIOUR_IF_STAGE2_FAILS=2 | ||||
|  | ||||
| # cloud9 | ||||
| COPY --from=c9files /buildout/ / | ||||
|  | ||||
| RUN \ | ||||
|  echo "**** install dev packages ****" && \ | ||||
|  apk add --no-cache \ | ||||
| 	c-ares \ | ||||
| 	curl \ | ||||
| 	git \ | ||||
| 	gnupg \ | ||||
| 	http-parser \ | ||||
| 	libevent \ | ||||
| 	libevent \ | ||||
| 	libstdc++ \ | ||||
| 	libuv \ | ||||
| 	sudo && \ | ||||
|  echo "****  user perms ****" && \ | ||||
|  usermod -aG wheel \ | ||||
| 	abc && \ | ||||
|  echo "auth       sufficient   pam_shells.so" > /etc/pam.d/chsh && \ | ||||
|  chsh abc -s /bin/bash && \ | ||||
|  sed -e \ | ||||
| 	's/# %wheel ALL=(ALL) NOPASSWD: ALL/%wheel ALL=(ALL) NOPASSWD: ALL/g' \ | ||||
| 	-i /etc/sudoers && \ | ||||
|  echo "**** install runtime packages ****" && \ | ||||
|  apk add --no-cache \ | ||||
| 	curl \ | ||||
| @@ -21,14 +45,27 @@ RUN \ | ||||
| 	tar && \ | ||||
|  echo "**** install heimdall ****" && \ | ||||
|  mkdir -p \ | ||||
| 	/heimdall && \ | ||||
|  if [ -z ${HEIMDALL_RELEASE+x} ]; then \ | ||||
|  	HEIMDALL_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/commits/master" \ | ||||
| 	| awk '/sha/{print $4;exit}' FS='[""]'); \ | ||||
|  fi && \ | ||||
|  curl -o \ | ||||
| 	/heimdall/heimdall.tar.gz -L \ | ||||
| 	"https://github.com/linuxserver/Heimdall/archive/${HEIMDALL_RELEASE}.tar.gz" && \ | ||||
| 	/c9sdk/build/standalone \ | ||||
| 	/var/www/localhost/heimdall && \ | ||||
|  git clone \ | ||||
| 	https://github.com/linuxserver/Heimdall.git \ | ||||
| 	/var/www/localhost/heimdall && \ | ||||
|  echo "**** dev setup and permissions ****" && \ | ||||
|  echo -e \ | ||||
| 	'\n# Heimdall user authorization\nfastcgi_param  PHP_AUTH_USER $remote_user;\nfastcgi_param  PHP_AUTH_PW $http_authorization;' >> \ | ||||
|         /etc/nginx/fastcgi_params && \ | ||||
|  cp \ | ||||
|         /var/www/localhost/heimdall/.env.example \ | ||||
|         /var/www/localhost/heimdall/.env && \ | ||||
|  php /var/www/localhost/heimdall/artisan key:generate && \ | ||||
|  sed -i \ | ||||
| 	's/QUEUE_DRIVER=sync/QUEUE_DRIVER=database/' \ | ||||
| 	/var/www/localhost/heimdall/.env && \ | ||||
|  chown -R abc:abc \ | ||||
| 	/c9sdk/build/standalone \ | ||||
| 	/c9bins \ | ||||
| 	/config \ | ||||
| 	/var/www/localhost/heimdall && \ | ||||
|  echo "**** cleanup ****" && \ | ||||
|  rm -rf \ | ||||
| 	/tmp/* | ||||
|   | ||||
| @@ -1,3 +1,4 @@ | ||||
| FROM lsiobase/cloud9:arm64v8-files-alpine as c9files | ||||
| FROM lsiobase/nginx:arm64v8-3.10 | ||||
|  | ||||
| # set version label | ||||
| @@ -10,7 +11,30 @@ LABEL maintainer="aptalca" | ||||
| # environment settings | ||||
| ENV S6_BEHAVIOUR_IF_STAGE2_FAILS=2 | ||||
|  | ||||
| # cloud9 | ||||
| COPY --from=c9files /buildout/ / | ||||
|  | ||||
| RUN \ | ||||
|  echo "**** install dev packages ****" && \ | ||||
|  apk add --no-cache \ | ||||
| 	c-ares \ | ||||
| 	curl \ | ||||
| 	git \ | ||||
| 	gnupg \ | ||||
| 	http-parser \ | ||||
| 	libevent \ | ||||
| 	libevent \ | ||||
| 	libstdc++ \ | ||||
| 	libuv \ | ||||
| 	sudo && \ | ||||
|  echo "****  user perms ****" && \ | ||||
|  usermod -aG wheel \ | ||||
| 	abc && \ | ||||
|  echo "auth       sufficient   pam_shells.so" > /etc/pam.d/chsh && \ | ||||
|  chsh abc -s /bin/bash && \ | ||||
|  sed -e \ | ||||
| 	's/# %wheel ALL=(ALL) NOPASSWD: ALL/%wheel ALL=(ALL) NOPASSWD: ALL/g' \ | ||||
| 	-i /etc/sudoers && \ | ||||
|  echo "**** install runtime packages ****" && \ | ||||
|  apk add --no-cache \ | ||||
| 	curl \ | ||||
| @@ -21,14 +45,27 @@ RUN \ | ||||
| 	tar && \ | ||||
|  echo "**** install heimdall ****" && \ | ||||
|  mkdir -p \ | ||||
| 	/heimdall && \ | ||||
|  if [ -z ${HEIMDALL_RELEASE+x} ]; then \ | ||||
|  	HEIMDALL_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/commits/master" \ | ||||
| 	| awk '/sha/{print $4;exit}' FS='[""]'); \ | ||||
|  fi && \ | ||||
|  curl -o \ | ||||
| 	/heimdall/heimdall.tar.gz -L \ | ||||
| 	"https://github.com/linuxserver/Heimdall/archive/${HEIMDALL_RELEASE}.tar.gz" && \ | ||||
| 	/c9sdk/build/standalone \ | ||||
| 	/var/www/localhost/heimdall && \ | ||||
|  git clone \ | ||||
| 	https://github.com/linuxserver/Heimdall.git \ | ||||
| 	/var/www/localhost/heimdall && \ | ||||
|  echo "**** dev setup and permissions ****" && \ | ||||
|  echo -e \ | ||||
| 	'\n# Heimdall user authorization\nfastcgi_param  PHP_AUTH_USER $remote_user;\nfastcgi_param  PHP_AUTH_PW $http_authorization;' >> \ | ||||
|         /etc/nginx/fastcgi_params && \ | ||||
|  cp \ | ||||
|         /var/www/localhost/heimdall/.env.example \ | ||||
|         /var/www/localhost/heimdall/.env && \ | ||||
|  php /var/www/localhost/heimdall/artisan key:generate && \ | ||||
|  sed -i \ | ||||
| 	's/QUEUE_DRIVER=sync/QUEUE_DRIVER=database/' \ | ||||
| 	/var/www/localhost/heimdall/.env && \ | ||||
|  chown -R abc:abc \ | ||||
| 	/c9sdk/build/standalone \ | ||||
| 	/c9bins \ | ||||
| 	/config \ | ||||
| 	/var/www/localhost/heimdall && \ | ||||
|  echo "**** cleanup ****" && \ | ||||
|  rm -rf \ | ||||
| 	/tmp/* | ||||
|   | ||||
| @@ -1,3 +1,4 @@ | ||||
| FROM lsiobase/cloud9:arm32v7-files-alpine as c9files | ||||
| FROM lsiobase/nginx:arm32v7-3.10 | ||||
|  | ||||
| # set version label | ||||
| @@ -10,7 +11,30 @@ LABEL maintainer="aptalca" | ||||
| # environment settings | ||||
| ENV S6_BEHAVIOUR_IF_STAGE2_FAILS=2 | ||||
|  | ||||
| # cloud9 | ||||
| COPY --from=c9files /buildout/ / | ||||
|  | ||||
| RUN \ | ||||
|  echo "**** install dev packages ****" && \ | ||||
|  apk add --no-cache \ | ||||
| 	c-ares \ | ||||
| 	curl \ | ||||
| 	git \ | ||||
| 	gnupg \ | ||||
| 	http-parser \ | ||||
| 	libevent \ | ||||
| 	libevent \ | ||||
| 	libstdc++ \ | ||||
| 	libuv \ | ||||
| 	sudo && \ | ||||
|  echo "****  user perms ****" && \ | ||||
|  usermod -aG wheel \ | ||||
| 	abc && \ | ||||
|  echo "auth       sufficient   pam_shells.so" > /etc/pam.d/chsh && \ | ||||
|  chsh abc -s /bin/bash && \ | ||||
|  sed -e \ | ||||
| 	's/# %wheel ALL=(ALL) NOPASSWD: ALL/%wheel ALL=(ALL) NOPASSWD: ALL/g' \ | ||||
| 	-i /etc/sudoers && \ | ||||
|  echo "**** install runtime packages ****" && \ | ||||
|  apk add --no-cache \ | ||||
| 	curl \ | ||||
| @@ -21,14 +45,27 @@ RUN \ | ||||
| 	tar && \ | ||||
|  echo "**** install heimdall ****" && \ | ||||
|  mkdir -p \ | ||||
| 	/heimdall && \ | ||||
|  if [ -z ${HEIMDALL_RELEASE+x} ]; then \ | ||||
|  	HEIMDALL_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/commits/master" \ | ||||
| 	| awk '/sha/{print $4;exit}' FS='[""]'); \ | ||||
|  fi && \ | ||||
|  curl -o \ | ||||
| 	/heimdall/heimdall.tar.gz -L \ | ||||
| 	"https://github.com/linuxserver/Heimdall/archive/${HEIMDALL_RELEASE}.tar.gz" && \ | ||||
| 	/c9sdk/build/standalone \ | ||||
| 	/var/www/localhost/heimdall && \ | ||||
|  git clone \ | ||||
| 	https://github.com/linuxserver/Heimdall.git \ | ||||
| 	/var/www/localhost/heimdall && \ | ||||
|  echo "**** dev setup and permissions ****" && \ | ||||
|  echo -e \ | ||||
| 	'\n# Heimdall user authorization\nfastcgi_param  PHP_AUTH_USER $remote_user;\nfastcgi_param  PHP_AUTH_PW $http_authorization;' >> \ | ||||
|         /etc/nginx/fastcgi_params && \ | ||||
|  cp \ | ||||
|         /var/www/localhost/heimdall/.env.example \ | ||||
|         /var/www/localhost/heimdall/.env && \ | ||||
|  php /var/www/localhost/heimdall/artisan key:generate && \ | ||||
|  sed -i \ | ||||
| 	's/QUEUE_DRIVER=sync/QUEUE_DRIVER=database/' \ | ||||
| 	/var/www/localhost/heimdall/.env && \ | ||||
|  chown -R abc:abc \ | ||||
| 	/c9sdk/build/standalone \ | ||||
| 	/c9bins \ | ||||
| 	/config \ | ||||
| 	/var/www/localhost/heimdall && \ | ||||
|  echo "**** cleanup ****" && \ | ||||
|  rm -rf \ | ||||
| 	/tmp/* | ||||
|   | ||||
| @@ -194,6 +194,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 | ||||
|  | ||||
| ## Versions | ||||
|  | ||||
| * **26.07.19:** - Modify development branch to include integrated IDE. | ||||
| * **15.07.19:** - Save laravel.log to /config, install heimdall during first start. | ||||
| * **28.06.19:** - Rebasing to alpine 3.10. | ||||
| * **23.03.19:** - Switching to new Base images, shift to arm32v7 tag. | ||||
|   | ||||
| @@ -52,6 +52,7 @@ app_setup_block: | | ||||
|  | ||||
| # changelog | ||||
| changelogs: | ||||
|   - { date: "26.07.19:", desc: "Modify development branch to include integrated IDE." } | ||||
|   - { date: "15.07.19:", desc: "Save laravel.log to /config, install heimdall during first start." } | ||||
|   - { date: "28.06.19:", desc: "Rebasing to alpine 3.10." } | ||||
|   - { date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag." } | ||||
|   | ||||
| @@ -1,52 +0,0 @@ | ||||
| #!/usr/bin/with-contenv bash | ||||
|  | ||||
| # make our folders | ||||
| mkdir -p \ | ||||
| 	/config/www/{backgrounds,icons,avatars,SupportedApps} \ | ||||
| 	/var/www/localhost/heimdall \ | ||||
| 	/config/log/heimdall | ||||
|  | ||||
| # install heimdall if necessary | ||||
| [[ -f /heimdall/heimdall.tar.gz ]] && \ | ||||
|  echo "New container detected, installing Heimdall" && \ | ||||
|  tar xf \ | ||||
|  	/heimdall/heimdall.tar.gz -C \ | ||||
| 	/var/www/localhost/heimdall --strip-components=1 && \ | ||||
|  echo -e '\n# Heimdall user authorization\nfastcgi_param  PHP_AUTH_USER $remote_user;\nfastcgi_param  PHP_AUTH_PW $http_authorization;' >> \ | ||||
| 	/etc/nginx/fastcgi_params && \ | ||||
|  rm -rf /heimdall && \ | ||||
|  chown -R abc:abc /var/www/localhost/heimdall | ||||
|  | ||||
| # create symlinks | ||||
|  | ||||
| symlinks=( \ | ||||
| /var/www/localhost/heimdall/storage/app/public/avatars \ | ||||
| /var/www/localhost/heimdall/storage/app/public/backgrounds \ | ||||
| /var/www/localhost/heimdall/storage/app/public/icons \ | ||||
| /var/www/localhost/heimdall/app/SupportedApps \ | ||||
| /var/www/localhost/heimdall/database/app.sqlite \ | ||||
| /var/www/localhost/heimdall/.env ) | ||||
|  | ||||
| for i in "${symlinks[@]}" | ||||
| do | ||||
| [[ -e "$i" && ! -L "$i" ]] && rm -rf "$i" | ||||
| [[ ! -L "$i" ]] && ln -s /config/www/"$(basename "$i")" "$i" | ||||
| done | ||||
|  | ||||
| [[ -e "/var/www/localhost/heimdall/storage/logs/laravel.log" && ! -L "/var/www/localhost/heimdall/storage/logs/laravel.log" ]] \ | ||||
| 	&& rm -rf "/var/www/localhost/heimdall/storage/logs/laravel.log" | ||||
| [[ ! -L "/var/www/localhost/heimdall/storage/logs/laravel.log" ]] && \ | ||||
| 	ln -s "/config/log/heimdall/laravel.log" "/var/www/localhost/heimdall/storage/logs/laravel.log" | ||||
|  | ||||
| # copy .env if not exists | ||||
| [[ ! -f /config/www/.env ]] && \ | ||||
|   cp /var/www/localhost/heimdall/.env.example /config/www/.env && \ | ||||
|   echo "generating app key" | ||||
|   php /var/www/localhost/heimdall/artisan key:generate | ||||
| # set queue driver to database | ||||
| sed -i 's/QUEUE_DRIVER=sync/QUEUE_DRIVER=database/' /config/www/.env | ||||
|  | ||||
| # permissions | ||||
| chown -R abc:abc \ | ||||
| 	/config \ | ||||
| 	/var/www/localhost/heimdall | ||||
| @@ -1,9 +0,0 @@ | ||||
| /config/log/heimdall/laravel.log { | ||||
|         size 5M | ||||
|         rotate 5 | ||||
|         compress | ||||
|         nodateext | ||||
|         notifempty | ||||
|         missingok | ||||
|         su abc abc | ||||
| } | ||||
							
								
								
									
										6
									
								
								root/etc/services.d/cloud9/run
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								root/etc/services.d/cloud9/run
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| #!/usr/bin/with-contenv bash | ||||
|  | ||||
| cd /c9sdk | ||||
| HOME=/c9bins exec \ | ||||
| 	s6-setuidgid abc \ | ||||
| 	/c9bins/.c9/node/bin/node server.js --listen 0.0.0.0 -p 8000 -w /var/www/localhost/heimdall -a : | ||||
		Reference in New Issue
	
	Block a user