diff --git a/Dockerfile b/Dockerfile index 6ffc941..f4c6018 100644 --- a/Dockerfile +++ b/Dockerfile @@ -74,7 +74,10 @@ RUN \ rm storage/framework/views/* 2> /dev/null || true && \ rm storage/logs/* 2> /dev/null || true && \ chown -R www-data:www-data /var/www/html/Lychee && \ - chmod -R g+ws storage/image-jobs storage/livewire-tmp && \ + chmod -R g+ws storage/image-jobs || true && \ + chmod -R g+ws storage/livewire-tmp || true && \ + chmod -R g+ws storage/lychee-tmp || true && \ + echo "* * * * * www-data cd /var/www/html/Lychee && php artisan schedule:run >> /dev/null 2>&1" >> /etc/crontab && \ apt-get purge -y --autoremove git composer && \ apt-get clean -qy &&\ @@ -102,7 +105,7 @@ COPY --from=static_builder --chown=www-data:www-data /app/public /var/www/html/L COPY default.conf /etc/nginx/nginx.conf EXPOSE 80 -VOLUME /conf /uploads /sym /logs +VOLUME /conf /uploads /sym /logs /lychee-tmp WORKDIR /var/www/html/Lychee diff --git a/docker-compose.yml b/docker-compose.yml index fc1d625..b19a4da 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -31,6 +31,7 @@ services: - ./lychee/uploads:/uploads - ./lychee/sym:/sym - ./lychee/logs:/logs + - ./lychee/tmp:/lychee-tmp networks: - lychee environment: @@ -46,6 +47,8 @@ services: #- APP_URL=http://localhost #- APP_DIR= #- DEBUGBAR_ENABLEd=false + #- VUEJS_ENABLED=true + #- LEGACY_API_ENABLED=false #- LEGACY_V4_REDIRECT=false #- DB_OLD_LYCHEE_PREFIX='' - DB_CONNECTION=mysql diff --git a/entrypoint.sh b/entrypoint.sh index 53e0516..a66b962 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -32,11 +32,12 @@ if [ -n "$STARTUP_DELAY" ] fi -echo "**** Make sure the /conf /uploads /sym /logs folders exist ****" -[ ! -d /conf ] && mkdir -p /conf -[ ! -d /uploads ] && mkdir -p /uploads -[ ! -d /sym ] && mkdir -p /sym -[ ! -d /logs ] && mkdir -p /logs +echo "**** Make sure the /conf /uploads /sym /logs /lychee-tmp folders exist ****" +[ ! -d /conf ] && mkdir -p /conf +[ ! -d /uploads ] && mkdir -p /uploads +[ ! -d /sym ] && mkdir -p /sym +[ ! -d /logs ] && mkdir -p /logs +[ ! -d /lychee-tmp ] && mkdir -p /lychee-tmp echo "**** Create the symbolic link for the /uploads folder ****" [ ! -L /var/www/html/Lychee/public/uploads ] && \ @@ -58,6 +59,13 @@ echo "**** Create the symbolic link for the /logs folder ****" rm -r /var/www/html/Lychee/storage/logs && \ ln -s /logs /var/www/html/Lychee/storage/logs +echo "**** Create the symbolic link for the /lychee-tmp folder ****" +[ ! -L /var/www/html/Lychee/storage/tmp ] && \ + touch /var/www/html/Lychee/storage/tmp/empty_file && \ + cp -r /var/www/html/Lychee/storage/tmp/* /lychee-tmp && \ + rm -r /var/www/html/Lychee/storage/tmp && \ + ln -s /lychee-tmp /var/www/html/Lychee/storage/tmp + cd /var/www/html/Lychee if [ "$DB_CONNECTION" = "sqlite" ] || [ -z "$DB_CONNECTION" ] @@ -142,12 +150,12 @@ if [ -n "$SKIP_PERMISSIONS_CHECKS" ] && [ "${SKIP_PERMISSIONS_CHECKS,,}" = "yes" else echo "**** Set Permissions ****" # Set ownership of directories, then files and only when required. See LycheeOrg/Lychee-Docker#120 - find /sym /uploads /logs -type d \( ! -user "$USER" -o ! -group "$USER" \) -exec chown -R "$USER":"$USER" \{\} \; - find /conf/.env /sym /uploads /logs \( ! -user "$USER" -o ! -group "$USER" \) -exec chown "$USER":"$USER" \{\} \; + find /sym /uploads /logs /lychee-tmp -type d \( ! -user "$USER" -o ! -group "$USER" \) -exec chown -R "$USER":"$USER" \{\} \; + find /conf/.env /sym /uploads /logs /lychee-tmp \( ! -user "$USER" -o ! -group "$USER" \) -exec chown "$USER":"$USER" \{\} \; # Laravel needs to be able to chmod user.css and custom.js for no good reason find /conf/user.css /conf/custom.js /logs/laravel.log \( ! -user "www-data" -o ! -group "$USER" \) -exec chown www-data:"$USER" \{\} \; - find /sym /uploads /logs -type d \( ! -perm -ug+w -o ! -perm -ugo+rX -o ! -perm -g+s \) -exec chmod -R ug+w,ugo+rX,g+s \{\} \; - find /conf/user.css /conf/custom.js /conf/.env /sym /uploads /logs \( ! -perm -ug+w -o ! -perm -ugo+rX \) -exec chmod ug+w,ugo+rX \{\} \; + find /sym /uploads /logs /lychee-tmp -type d \( ! -perm -ug+w -o ! -perm -ugo+rX -o ! -perm -g+s \) -exec chmod -R ug+w,ugo+rX,g+s \{\} \; + find /conf/user.css /conf/custom.js /conf/.env /sym /uploads /logs /lychee-tmp \( ! -perm -ug+w -o ! -perm -ugo+rX \) -exec chmod ug+w,ugo+rX \{\} \; fi # Update CA Certificates if we're using armv7 because armv7 is weird (#76) diff --git a/inject.sh b/inject.sh index 2cb4a66..5519948 100755 --- a/inject.sh +++ b/inject.sh @@ -31,6 +31,12 @@ if [ "$DEBUGBAR_ENABLED" != '' ]; then if [ "$LIVEWIRE_ENABLED" != '' ]; then replace_or_insert "LIVEWIRE_ENABLED" "$LIVEWIRE_ENABLED" fi +if [ "$VUEJS_ENABLED" != '' ]; then + replace_or_insert "VUEJS_ENABLED" "$VUEJS_ENABLED" + fi +if [ "$LEGACY_API_ENABLED" != '' ]; then + replace_or_insert "LEGACY_API_ENABLED" "$LEGACY_API_ENABLED" + fi if [ "$LOG_VIEWER_ENABLED" != '' ]; then replace_or_insert "LOG_VIEWER_ENABLED" "$LOG_VIEWER_ENABLED" fi