Spaces:
Runtime error
Runtime error
Create dockerfile
Browse files- dockerfile +53 -0
dockerfile
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Use Ubuntu 22.04 base image
|
2 |
+
FROM ubuntu:22.04
|
3 |
+
|
4 |
+
# Set environment variables for configuration
|
5 |
+
ENV PANEL_PORT=7860 \
|
6 |
+
ADMIN_USERNAME=admin \
|
7 |
+
ADMIN_PASSWORD=changeme \
|
8 |
+
PUFFER_DATA_DIR=/workspace/pufferpanel_data
|
9 |
+
|
10 |
+
# Install dependencies and clean up
|
11 |
+
RUN apt-get update && \
|
12 |
+
apt-get install -y wget curl sqlite3 && \
|
13 |
+
rm -rf /var/lib/apt/lists/*
|
14 |
+
|
15 |
+
# Download and install PufferPanel
|
16 |
+
RUN wget -q https://github.com/pufferpanel/pufferpanel/releases/download/v3.0.0-rc.14/pufferpanel_3.0.0-rc.14_amd64.deb && \
|
17 |
+
dpkg -i pufferpanel_3.0.0-rc.14_amd64.deb || apt-get install -f -y && \
|
18 |
+
rm pufferpanel_3.0.0-rc.14_amd64.deb
|
19 |
+
|
20 |
+
# Create persistent storage directories
|
21 |
+
RUN mkdir -p ${PUFFER_DATA_DIR}/servers \
|
22 |
+
${PUFFER_DATA_DIR}/modules \
|
23 |
+
${PUFFER_DATA_DIR}/cache
|
24 |
+
|
25 |
+
# Create config file from environment variables
|
26 |
+
RUN echo '{ \
|
27 |
+
"web": { \
|
28 |
+
"host": "0.0.0.0", \
|
29 |
+
"port": '${PANEL_PORT}' \
|
30 |
+
}, \
|
31 |
+
"ssl": { \
|
32 |
+
"enabled": false, \
|
33 |
+
"redirect": false \
|
34 |
+
}, \
|
35 |
+
"database": { \
|
36 |
+
"url": "sqlite:'${PUFFER_DATA_DIR}'/data.db", \
|
37 |
+
"type": "sqlite" \
|
38 |
+
}, \
|
39 |
+
"data": { \
|
40 |
+
"servers": "'${PUFFER_DATA_DIR}'/servers", \
|
41 |
+
"modules": "'${PUFFER_DATA_DIR}'/modules", \
|
42 |
+
"cache": "'${PUFFER_DATA_DIR}'/cache" \
|
43 |
+
} \
|
44 |
+
}' > /etc/pufferpanel/config.json
|
45 |
+
|
46 |
+
# Expose the panel port
|
47 |
+
EXPOSE ${PANEL_PORT}
|
48 |
+
|
49 |
+
# Start script to create admin user and run panel
|
50 |
+
COPY start.sh /start.sh
|
51 |
+
RUN chmod +x /start.sh
|
52 |
+
|
53 |
+
CMD ["/start.sh"]
|