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
|
# Stage 3: Final image
|
||||||
FROM eclipse-temurin:21-jre-alpine
|
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 ./nginx.conf /etc/nginx/nginx.conf
|
||||||
COPY --from=angular-build /angular-app/dist/booklore/browser /usr/share/nginx/html
|
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
|
# image: ghcr.io/booklore-app/booklore:latest
|
||||||
container_name: booklore
|
container_name: booklore
|
||||||
environment:
|
environment:
|
||||||
- PUID=1000
|
- USER_ID=0 # Modify this if the volume's ownership is not root
|
||||||
- PGID=1000
|
- GROUP_ID=0 # Modify this if the volume's ownership is not root
|
||||||
- TZ=Etc/UTC
|
- TZ=Etc/UTC
|
||||||
- DATABASE_URL=jdbc:mariadb://mariadb:3306/booklore # Only modify this if you're familiar with JDBC and your database setup
|
- 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
|
- 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 AdditionalFileMapper additionalFileMapper;
|
||||||
private final MonitoringService monitoringService;
|
private final MonitoringService monitoringService;
|
||||||
|
|
||||||
@Value("${PUID:0}")
|
@Value("${PUID:${USER_ID:0}}")
|
||||||
private String userId;
|
private String userId;
|
||||||
|
|
||||||
@Value("${GUID:0}")
|
@Value("${PGID:${GROUP_ID:0}}")
|
||||||
private String groupId;
|
private String groupId;
|
||||||
|
|
||||||
public Book uploadFile(MultipartFile file, long libraryId, long pathId) throws IOException {
|
public Book uploadFile(MultipartFile file, long libraryId, long pathId) throws IOException {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@
|
|||||||
BOOKLORE_IMAGE_TAG=latest
|
BOOKLORE_IMAGE_TAG=latest
|
||||||
|
|
||||||
# User and Timezone Settings
|
# 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.
|
# Avoid using "user" property because system won't work with it.
|
||||||
# TZ sets the timezone for correct time-related operations.
|
# TZ sets the timezone for correct time-related operations.
|
||||||
PUID=1000 # Default user ID (Check with `id -u` on Linux/Mac)
|
USER_ID=0 # Default root user ID (Check with `id -u` on Linux/Mac)
|
||||||
PGID=1000 # Default group ID (Check with `id -g` 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)
|
TZ=Etc/UTC # Change this to your timezone (e.g., America/New_York, Asia/Kolkata)
|
||||||
|
|
||||||
# Database Credentials (Replace with a secure password)
|
# Database Credentials (Replace with a secure password)
|
||||||
|
|||||||
Reference in New Issue
Block a user