diff --git a/Dockerfile b/Dockerfile index 230e70444..86877b19c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -23,18 +23,14 @@ COPY . ./ # Copy default chats, characters and user avatars to .default folder RUN \ - echo "*** Copy default chats, characters and user avatars to .default folder ***" && \ - mv "./public/characters" "./public/characters.default" && \ - mv "./public/chats" "./public/chats.default" && \ - mv "./public/User Avatars" "./public/User Avatars.default" && \ - mv "./public/settings.json" "./public/settings.json.default" && \ + IFS="," RESOURCES="characters,chats,User Avatars,settings.json" && \ + \ + echo "*** Store default $RESOURCES in .default ***" && \ + for R in $RESOURCES; do mv "public/$R" "public/$R.default"; done && \ \ echo "*** Create symbolic links to config directory ***" && \ - ln -s "${APP_HOME}/config/characters" "${APP_HOME}/public/characters" && \ - ln -s "${APP_HOME}/config/chats" "${APP_HOME}/public/chats" && \ - ln -s "${APP_HOME}/config/User Avatars" "${APP_HOME}/public/User Avatars" && \ - ln -s "${APP_HOME}/config/settings.json" "${APP_HOME}/public/settings.json" && \ - mkdir "${APP_HOME}/config" + for R in $RESOURCES; do ln -s "../config/$R" "public/$R"; done && \ + mkdir "config" # Cleanup unnecessary files RUN \ diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh index 880e3c993..1e8a87561 100644 --- a/docker/docker-entrypoint.sh +++ b/docker/docker-entrypoint.sh @@ -1,28 +1,13 @@ #!/bin/sh -# Check if the "characters" directory is empty -if [ ! -e "/home/node/app/config/characters" ]; then - echo "Characters directory not found. Copying default characters." - mv /home/node/app/public/characters.default /home/node/app/config/characters -fi - -# Check if the "chats" directory is empty -if [ ! -e "/home/node/app/config/chats" ]; then - echo "Chats directory not found. Copying default chats." - mv /home/node/app/public/chats.default /home/node/app/config/chats/ -fi - -# Check if the "User Avatars" directory is empty -if [ ! -e "/home/node/app/config/User Avatars" ]; then - echo "User Avatars directory not found. Copying default user avatars." - mv /home/node/app/public/User\ Avatars.default /home/node/app/config/User\ Avatars/ -fi - -# Check if the "settings.json" file is not empty -if [ ! -e "/home/node/app/config/settings.json" ]; then - echo "Settings file not found. Copying default settings." - mv /home/node/app/public/settings.json.default /home/node/app/config/settings.json -fi +# Initialize missing user files +IFS="," RESOURCES="characters,chats,User Avatars,settings.json" +for R in $RESOURCES; do + if [ ! -e "config/$R" ]; then + echo "Resource not found, copying from defaults: $R" + cp -r "public/$R.default" "config/$R" + fi +done # Start the server -exec node /home/node/app/server.js +exec node server.js