mirror of
https://github.com/booklore-app/booklore.git
synced 2025-12-23 14:20:48 -05:00
Adding USER_ID and GROUP_ID to specify permission without making breaking change (#882)
* fixing permissions to be able to run springboot with given UID and GID * Adding USER_ID and GROUP_ID to specify permission without making breaking change * move su exec to start.sh --------- Co-authored-by: Aditya Chandel <8075870+adityachandelgit@users.noreply.github.com>
This commit is contained in:
@@ -27,7 +27,7 @@ RUN gradle clean build -x test
|
||||
# Stage 3: Final image
|
||||
FROM eclipse-temurin:21-jre-alpine
|
||||
|
||||
RUN apk update && apk add nginx gettext
|
||||
RUN apk update && apk add nginx gettext su-exec
|
||||
|
||||
COPY ./nginx.conf /etc/nginx/nginx.conf
|
||||
COPY --from=angular-build /angular-app/dist/booklore/browser /usr/share/nginx/html
|
||||
|
||||
@@ -101,8 +101,8 @@ ### 2️⃣ Create docker-compose.yml
|
||||
# image: ghcr.io/booklore-app/booklore:latest
|
||||
container_name: booklore
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- USER_ID=0 # Modify this if the volume's ownership is not root
|
||||
- GROUP_ID=0 # Modify this if the volume's ownership is not root
|
||||
- TZ=Etc/UTC
|
||||
- DATABASE_URL=jdbc:mariadb://mariadb:3306/booklore # Only modify this if you're familiar with JDBC and your database setup
|
||||
- DATABASE_USERNAME=booklore # Must match MYSQL_USER defined in the mariadb container
|
||||
|
||||
@@ -64,10 +64,10 @@ public class FileUploadService {
|
||||
private final AdditionalFileMapper additionalFileMapper;
|
||||
private final MonitoringService monitoringService;
|
||||
|
||||
@Value("${PUID:0}")
|
||||
@Value("${PUID:${USER_ID:0}}")
|
||||
private String userId;
|
||||
|
||||
@Value("${GUID:0}")
|
||||
@Value("${PGID:${GROUP_ID:0}}")
|
||||
private String groupId;
|
||||
|
||||
public Book uploadFile(MultipartFile file, long libraryId, long pathId) throws IOException {
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
BOOKLORE_IMAGE_TAG=latest
|
||||
|
||||
# User and Timezone Settings
|
||||
# PUID and PGID define the user/group running the container.
|
||||
# USER_ID and GROUP_ID define the user/group running the backend service.
|
||||
# Avoid using "user" property because system won't work with it.
|
||||
# TZ sets the timezone for correct time-related operations.
|
||||
PUID=1000 # Default user ID (Check with `id -u` on Linux/Mac)
|
||||
PGID=1000 # Default group ID (Check with `id -g` on Linux/Mac)
|
||||
USER_ID=0 # Default root user ID (Check with `id -u` on Linux/Mac)
|
||||
GROUP_ID=0 # Default root group ID (Check with `id -g` on Linux/Mac)
|
||||
TZ=Etc/UTC # Change this to your timezone (e.g., America/New_York, Asia/Kolkata)
|
||||
|
||||
# Database Credentials (Replace with a secure password)
|
||||
|
||||
Reference in New Issue
Block a user