Skip to content

Commit

Permalink
Preparing docker image for v6 (#208)
Browse files Browse the repository at this point in the history

---------

Co-authored-by: Martin Stone <[email protected]>
  • Loading branch information
ildyria and d7415 authored Sep 30, 2024
1 parent 6536cc1 commit 8e03b69
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 11 deletions.
7 changes: 5 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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 &&\
Expand Down Expand Up @@ -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

Expand Down
3 changes: 3 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ services:
- ./lychee/uploads:/uploads
- ./lychee/sym:/sym
- ./lychee/logs:/logs
- ./lychee/tmp:/lychee-tmp
networks:
- lychee
environment:
Expand All @@ -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
Expand Down
26 changes: 17 additions & 9 deletions entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 ] && \
Expand All @@ -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" ]
Expand Down Expand Up @@ -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)
Expand Down
6 changes: 6 additions & 0 deletions inject.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 8e03b69

Please sign in to comment.