mirror of
https://github.com/grocy/grocy.git
synced 2025-08-20 12:20:22 +00:00
Moved docker related things to https://github.com/grocy/grocy-docker (this now closes #101, thanks @talmai)
This commit is contained in:
@@ -1,6 +0,0 @@
|
|||||||
.git
|
|
||||||
.vscode
|
|
||||||
.gitignore
|
|
||||||
build.bat
|
|
||||||
Dockerfile
|
|
||||||
.DS_store
|
|
@@ -1,58 +0,0 @@
|
|||||||
FROM php:7.2-fpm-alpine
|
|
||||||
MAINTAINER Talmai Oliveira <to@talm.ai>
|
|
||||||
|
|
||||||
RUN apk update && \
|
|
||||||
apk upgrade && \
|
|
||||||
apk add --update yarn git &&\
|
|
||||||
mkdir -p /www && \
|
|
||||||
# Set environments
|
|
||||||
sed -i "s|;*daemonize\s*=\s*yes|daemonize = no|g" /usr/local/etc/php-fpm.conf && \
|
|
||||||
sed -i "s|;*listen\s*=\s*127.0.0.1:9000|listen = 9000|g" /usr/local/etc/php-fpm.conf && \
|
|
||||||
sed -i "s|;*listen\s*=\s*/||g" /usr/local/etc/php-fpm.conf && \
|
|
||||||
# sed -i "s|;*log_level\s*=\s*notice|log_level = debug|g" /usr/local/etc/php-fpm.conf && \
|
|
||||||
sed -i "s|;*chdir\s*=\s*/var/www|chdir = /www|g" /usr/local/etc/php-fpm.d/www.conf && \
|
|
||||||
# sed -i "s|;*access.log\s*=\s*log/\$pool.access.log|access.log = \$pool.access.log|g" /usr/local/etc/php-fpm.d/www.conf && \
|
|
||||||
# sed -i "s|;*pm.status_path\s*=\s*/status|pm.status_path = /status|g" /usr/local/etc/php-fpm.d/www.conf && \
|
|
||||||
# sed -i "s|;*memory_limit =.*|memory_limit = ${PHP_MEMORY_LIMIT}|i" /usr/local/etc/php.ini && \
|
|
||||||
# sed -i "s|;*upload_max_filesize =.*|upload_max_filesize = ${MAX_UPLOAD}|i" /usr/local/etc/php.ini && \
|
|
||||||
# sed -i "s|;*max_file_uploads =.*|max_file_uploads = ${PHP_MAX_FILE_UPLOAD}|i" /usr/local/etc/php.ini && \
|
|
||||||
# sed -i "s|;*post_max_size =.*|post_max_size = ${PHP_MAX_POST}|i" /usr/local/etc/php.ini && \
|
|
||||||
# sed -i "s|;*cgi.fix_pathinfo=.*|cgi.fix_pathinfo= 0|i" /usr/local/etc/php.ini && \
|
|
||||||
wget https://raw.githubusercontent.com/composer/getcomposer.org/1b137f8bf6db3e79a38a5bc45324414a6b1f9df2/web/installer -O - -q | php -- --quiet && \
|
|
||||||
# Cleaning up
|
|
||||||
rm -rf /var/cache/apk/*
|
|
||||||
|
|
||||||
COPY public /www/public
|
|
||||||
COPY info.php /www/public
|
|
||||||
COPY controllers /www/controllers
|
|
||||||
COPY data /www/data
|
|
||||||
COPY helpers /www/helpers
|
|
||||||
COPY localization/ /www/localization
|
|
||||||
COPY middleware/ /www/middleware
|
|
||||||
COPY migrations/ /www/migrations
|
|
||||||
COPY publication_assets/ /www/publication_assets
|
|
||||||
COPY services/ /www/services
|
|
||||||
COPY views/ /www/views
|
|
||||||
COPY .yarnrc /www/
|
|
||||||
COPY *.php /www/
|
|
||||||
COPY *.json /www/
|
|
||||||
COPY composer.* /root/.composer/
|
|
||||||
COPY *yarn* /www/
|
|
||||||
COPY *.sh /www/
|
|
||||||
|
|
||||||
# run php composer.phar with -vvv for extra debug information
|
|
||||||
RUN cd /var/www/html && \
|
|
||||||
php composer.phar --working-dir=/www/ -n install && \
|
|
||||||
cp /www/config-dist.php /www/data/config.php && \
|
|
||||||
cd /www && \
|
|
||||||
yarn install && \
|
|
||||||
chown www-data:www-data -R /www/
|
|
||||||
|
|
||||||
# Set Workdir
|
|
||||||
WORKDIR /www/public
|
|
||||||
|
|
||||||
# Expose volumes
|
|
||||||
VOLUME ["/www"]
|
|
||||||
|
|
||||||
# Expose ports
|
|
||||||
EXPOSE 9000
|
|
@@ -1,32 +0,0 @@
|
|||||||
FROM alpine:latest
|
|
||||||
MAINTAINER Talmai Oliveira <to@talm.ai>
|
|
||||||
|
|
||||||
RUN apk update && \
|
|
||||||
apk upgrade && \
|
|
||||||
apk add --update openssl nginx && \
|
|
||||||
mkdir -p /etc/nginx/certificates && \
|
|
||||||
mkdir -p /var/run/nginx && \
|
|
||||||
mkdir -p /usr/share/nginx/html && \
|
|
||||||
openssl req \
|
|
||||||
-x509 \
|
|
||||||
-newkey rsa:2048 \
|
|
||||||
-keyout /etc/nginx/certificates/key.pem \
|
|
||||||
-out /etc/nginx/certificates/cert.pem \
|
|
||||||
-days 365 \
|
|
||||||
-nodes \
|
|
||||||
-subj /CN=localhost && \
|
|
||||||
rm -rf /var/cache/apk/*
|
|
||||||
|
|
||||||
COPY docker_nginx/nginx.conf /etc/nginx/nginx.conf
|
|
||||||
COPY docker_nginx/common.conf /etc/nginx/common.conf
|
|
||||||
COPY docker_nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf
|
|
||||||
COPY docker_nginx/conf.d/ssl.conf /etc/nginx/conf.d/ssl.conf
|
|
||||||
|
|
||||||
# Expose volumes
|
|
||||||
VOLUME ["/etc/nginx/conf.d", "/var/log/nginx"]
|
|
||||||
|
|
||||||
# Expose ports
|
|
||||||
EXPOSE 80 443
|
|
||||||
|
|
||||||
# Entry point
|
|
||||||
ENTRYPOINT ["/usr/sbin/nginx", "-g", "daemon off;"]
|
|
@@ -25,13 +25,7 @@ If, however, your webserver does not support URL rewriting, set `DISABLE_URL_REW
|
|||||||
|
|
||||||
## How to run using Docker
|
## How to run using Docker
|
||||||
|
|
||||||
The docker images build are based on [Alpine](https://hub.docker.com/_/alpine/), with an extremelly low footprint (less than 10 MB for nginx, and less than 70MB for grocy with php-fm. That number is eventually bumped up to 353MB after all the dependencies are downloaded, however). Anyhow, to run using docker just do the following:
|
See [grocy/grocy-docker](https://github.com/grocy/grocy-docker) for instructions.
|
||||||
|
|
||||||
```
|
|
||||||
> docker-compose up
|
|
||||||
```
|
|
||||||
|
|
||||||
And grocy should be accessible via `http(s)://localhost/`. The https option will work. However, since the certificate is self-signed, most browsers will complain.
|
|
||||||
|
|
||||||
## How to update
|
## How to update
|
||||||
Just overwrite everything with the latest release while keeping the `data` directory, check `config-dist.php` for new configuration options and add them to your `data/config.php` (the default from values `config-dist.php` will be used for not in `data/config.php` defined settings). Just to be sure, please empty `data/viewcache`.
|
Just overwrite everything with the latest release while keeping the `data` directory, check `config-dist.php` for new configuration options and add them to your `data/config.php` (the default from values `config-dist.php` will be used for not in `data/config.php` defined settings). Just to be sure, please empty `data/viewcache`.
|
||||||
|
@@ -1,30 +0,0 @@
|
|||||||
# Usage:
|
|
||||||
# docker-compose build && docker-compose up
|
|
||||||
version: '2'
|
|
||||||
|
|
||||||
services:
|
|
||||||
grocy-nginx:
|
|
||||||
build:
|
|
||||||
context: .
|
|
||||||
dockerfile: Dockerfile-grocy-nginx
|
|
||||||
depends_on:
|
|
||||||
- grocy
|
|
||||||
ports:
|
|
||||||
- '80:80'
|
|
||||||
- '443:443'
|
|
||||||
volumes_from:
|
|
||||||
- grocy
|
|
||||||
container_name: grocy-nginx
|
|
||||||
|
|
||||||
grocy:
|
|
||||||
build:
|
|
||||||
context: .
|
|
||||||
dockerfile: Dockerfile-grocy
|
|
||||||
expose:
|
|
||||||
- 9000
|
|
||||||
environment:
|
|
||||||
PHP_MEMORY_LIMIT: 512M
|
|
||||||
MAX_UPLOAD: 50M
|
|
||||||
PHP_MAX_FILE_UPLOAD: 200
|
|
||||||
PHP_MAX_POST: 100M
|
|
||||||
container_name: grocy
|
|
@@ -1,28 +0,0 @@
|
|||||||
index index.php index.html index.htm;
|
|
||||||
|
|
||||||
charset utf-8;
|
|
||||||
|
|
||||||
location / {
|
|
||||||
try_files $uri $uri/ /index.php?$query_string;
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
|
|
||||||
expires 365d;
|
|
||||||
}
|
|
||||||
|
|
||||||
error_page 404 /404.html;
|
|
||||||
error_page 500 502 503 504 /50x.html;
|
|
||||||
location = /50x.html {
|
|
||||||
root /usr/share/nginx/html;
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ \.php$ {
|
|
||||||
fastcgi_pass grocy:9000;
|
|
||||||
fastcgi_index index.php;
|
|
||||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
|
||||||
include fastcgi_params;
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ /\.ht {
|
|
||||||
deny all;
|
|
||||||
}
|
|
@@ -1,8 +0,0 @@
|
|||||||
server {
|
|
||||||
listen 80 default_server;
|
|
||||||
server_name _;
|
|
||||||
|
|
||||||
root /www/public; # see: volumes_from
|
|
||||||
|
|
||||||
include /etc/nginx/common.conf;
|
|
||||||
}
|
|
@@ -1,20 +0,0 @@
|
|||||||
server {
|
|
||||||
listen 443 ssl;
|
|
||||||
server_name _;
|
|
||||||
|
|
||||||
root /www/public; # see: volumes_from
|
|
||||||
|
|
||||||
ssl_certificate /etc/nginx/certificates/cert.pem;
|
|
||||||
ssl_certificate_key /etc/nginx/certificates/key.pem;
|
|
||||||
|
|
||||||
error_log /var/log/nginx/error.log;
|
|
||||||
|
|
||||||
# ssl_session_cache shared:SSL:1m;
|
|
||||||
# ssl_session_timeout 5m;
|
|
||||||
|
|
||||||
# ssl_ciphers HIGH:!aNULL:!MD5;
|
|
||||||
# ssl_prefer_server_ciphers on;
|
|
||||||
|
|
||||||
include /etc/nginx/common.conf;
|
|
||||||
|
|
||||||
}
|
|
@@ -1,42 +0,0 @@
|
|||||||
user nobody;
|
|
||||||
worker_processes 1;
|
|
||||||
|
|
||||||
pid /var/run/nginx/nginx.pid;
|
|
||||||
|
|
||||||
error_log /var/log/nginx/error.log;
|
|
||||||
|
|
||||||
events {
|
|
||||||
worker_connections 1024;
|
|
||||||
}
|
|
||||||
|
|
||||||
http {
|
|
||||||
include mime.types;
|
|
||||||
default_type application/octet-stream;
|
|
||||||
|
|
||||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
|
||||||
'$status $body_bytes_sent "$http_referer" '
|
|
||||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
|
||||||
|
|
||||||
sendfile on;
|
|
||||||
#tcp_nopush on;
|
|
||||||
|
|
||||||
client_body_timeout 12;
|
|
||||||
client_header_timeout 12;
|
|
||||||
keepalive_timeout 15;
|
|
||||||
send_timeout 10;
|
|
||||||
|
|
||||||
client_body_buffer_size 10K;
|
|
||||||
client_header_buffer_size 1k;
|
|
||||||
client_max_body_size 50M;
|
|
||||||
large_client_header_buffers 2 1k;
|
|
||||||
|
|
||||||
gzip on;
|
|
||||||
gzip_comp_level 2;
|
|
||||||
gzip_min_length 1000;
|
|
||||||
gzip_proxied expired no-cache no-store private auth;
|
|
||||||
gzip_types text/plain application/x-javascript text/xml text/css application/xml;
|
|
||||||
|
|
||||||
access_log on;
|
|
||||||
|
|
||||||
include /etc/nginx/conf.d/*.conf;
|
|
||||||
}
|
|
Reference in New Issue
Block a user