mirror of
https://github.com/stefanpejcic/openpanel
synced 2025-06-26 18:28:26 +00:00
Create Dockerfile
This commit is contained in:
parent
bc7f4186cf
commit
43c37e9720
47
services/proxy/Dockerfile
Normal file
47
services/proxy/Dockerfile
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
# Use a base image for Rocky Linux
|
||||||
|
FROM rockylinux:9.4
|
||||||
|
|
||||||
|
# Environment variables
|
||||||
|
ENV DOMAIN openpanel.org
|
||||||
|
ENV PREVIEW_DOMAIN preview.openpanel.org
|
||||||
|
|
||||||
|
# Update system and install necessary tools
|
||||||
|
RUN dnf update -y && \
|
||||||
|
dnf install -y 'dnf-command(copr)' && \
|
||||||
|
dnf copr enable @caddy/caddy -y && \
|
||||||
|
dnf install -y caddy php php-fpm php-cli php-common
|
||||||
|
|
||||||
|
# Copy files
|
||||||
|
COPY html /var/www/html
|
||||||
|
COPY delete_cron.sh /var/www/delete_cron.sh
|
||||||
|
COPY caddy/fullchain.pem /etc/caddy/certs/fullchain.pem
|
||||||
|
COPY caddy/privkey.pem /etc/caddy/certs/privkey.pem
|
||||||
|
COPY caddy/Caddyfile /etc/caddy/Caddyfile
|
||||||
|
|
||||||
|
# order is important!
|
||||||
|
RUN find /var/www/html -type f -exec sed -i "s/preview.openpanel.org/$PREVIEW_DOMAIN/g" {} + && \
|
||||||
|
find /etc/caddy/Caddyfile -type f -exec sed -i "s/preview.openpanel.org/$PREVIEW_DOMAIN/g" {} + && \
|
||||||
|
find /var/www/html -type f -exec sed -i "s/openpanel.org/$DOMAIN/g" {} + && \
|
||||||
|
find /etc/caddy/Caddyfile -type f -exec sed -i "s/openpanel.org/$DOMAIN/g" {} +
|
||||||
|
|
||||||
|
# Set up permissions
|
||||||
|
RUN chown -R caddy:caddy /var/www/html && \
|
||||||
|
chmod -R 755 /var/www/html/domains && \
|
||||||
|
chmod +x /var/www/delete_cron.sh && \
|
||||||
|
usermod -aG www-data caddy && \
|
||||||
|
usermod -aG caddy caddy && \
|
||||||
|
chown caddy:caddy /run/php-fpm/www.sock && \
|
||||||
|
sed -i 's/^user = .*/user = caddy/' /etc/php-fpm.d/www.conf && \
|
||||||
|
sed -i 's/^group = .*/group = caddy/' /etc/php-fpm.d/www.conf
|
||||||
|
|
||||||
|
# Enable and start services
|
||||||
|
RUN systemctl enable caddy && systemctl enable php-fpm
|
||||||
|
|
||||||
|
# Cron setup
|
||||||
|
RUN echo "*/5 * * * * bash /var/www/delete_cron.sh" | crontab -
|
||||||
|
|
||||||
|
# Expose necessary ports for Caddy
|
||||||
|
EXPOSE 80 443
|
||||||
|
|
||||||
|
# Run services
|
||||||
|
CMD ["sh", "-c", "php-fpm && caddy run --config /etc/caddy/Caddyfile --adapter caddyfile"]
|
Loading…
Reference in New Issue
Block a user