add initial files
This commit is contained in:
parent
41a0712773
commit
88cbce57a0
|
@ -0,0 +1,23 @@
|
|||
FROM debian:buster-slim
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
WORKDIR /app/
|
||||
|
||||
RUN apt update
|
||||
RUN apt -y install nginx php php-fpm php-mysql nano curl php-xml cron php-curl php-gd php-mbstring composer php-imagick git
|
||||
|
||||
RUN git clone https://github.com/opensourcepos/opensourcepos/ /opensourcepos/
|
||||
RUN ln -s /opensourcepos/application/ /application
|
||||
RUN ln -s /opensourcepos/public/ /app
|
||||
RUN ln -s /opensourcepos/vendor/ /vendor
|
||||
|
||||
RUN cd /opensourcepos/ && composer required
|
||||
|
||||
COPY nginx.conf /etc/nginx/sites-available/
|
||||
RUN ln -sf /etc/nginx/sites-available/nginx.conf /etc/nginx/sites-enabled/default
|
||||
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
RUN chmod +x /entrypoint.sh
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
|
@ -0,0 +1,56 @@
|
|||
version: '3.4'
|
||||
|
||||
services:
|
||||
ospos:
|
||||
build:
|
||||
context: .
|
||||
target: ospos
|
||||
container_name: ospos
|
||||
restart: always
|
||||
labels:
|
||||
- traefik.frontend.rule=Host:pos.coletivos.org
|
||||
- traefik.enable=true
|
||||
depends_on:
|
||||
- mysql
|
||||
expose:
|
||||
- "80"
|
||||
ports:
|
||||
- "4001:80"
|
||||
networks:
|
||||
- world
|
||||
- internal
|
||||
volumes:
|
||||
- uploads:/app/public/uploads:rw
|
||||
- logs:/app/application/logs:rw
|
||||
environment:
|
||||
- FORCE_HTTPS=true
|
||||
- PHP_TIMEZONE=UTC
|
||||
- MYSQL_USERNAME=${OSPOS_MYSQL_USERNAME}
|
||||
- MYSQL_PASSWORD=${OSPOS_MYSQL_PASSWORD}
|
||||
- MYSQL_DB_NAME=ospos
|
||||
- MYSQL_HOST_NAME=mysql
|
||||
|
||||
mysql:
|
||||
image: mariadb:10.5
|
||||
container_name: mysql
|
||||
restart: always
|
||||
labels:
|
||||
- traefik.enable=false
|
||||
expose:
|
||||
- "3306"
|
||||
networks:
|
||||
- internal
|
||||
volumes:
|
||||
- ./database/database.sql:/docker-entrypoint-initdb.d/database.sql:ro
|
||||
- db:/var/lib/mysql:rw
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${OSPOS_MYSQL_ROOT_PASSWORD}
|
||||
- MYSQL_DATABASE=ospos
|
||||
- MYSQL_USER=${OSPOS_MYSQL_USERNAME}
|
||||
- MYSQL_PASSWORD=${OSPOS_MYSQL_PASSWORD}
|
||||
|
||||
networks:
|
||||
world:
|
||||
external: true
|
||||
internal:
|
||||
external: false
|
|
@ -0,0 +1,5 @@
|
|||
#!/bin/bash
|
||||
service nginx start
|
||||
service php7.3-fpm start
|
||||
sleep 2
|
||||
tail -f /var/log/nginx/*.log
|
|
@ -0,0 +1,44 @@
|
|||
# Designed to be included in any server {} block.
|
||||
# Upstream to abstract backend connection(s) for php
|
||||
upstream php {
|
||||
# server unix:/tmp/php-cgi.socket;
|
||||
server unix:/var/run/php/php7.3-fpm.sock;
|
||||
}
|
||||
|
||||
server {
|
||||
## Your website name goes here.
|
||||
server_name _;
|
||||
## Your only path reference.
|
||||
root /app/public/;
|
||||
## This should be in your http block and if it is, it's not needed here.
|
||||
index index.php;
|
||||
|
||||
location = /favicon.ico {
|
||||
log_not_found off;
|
||||
access_log off;
|
||||
}
|
||||
|
||||
location = /robots.txt {
|
||||
allow all;
|
||||
log_not_found off;
|
||||
access_log off;
|
||||
}
|
||||
|
||||
location / {
|
||||
# This is cool because no php is touched for static content.
|
||||
# include the "?$args" part so non-default permalinks doesn't break when using query string
|
||||
try_files $uri $uri/ /index.php?$args;
|
||||
}
|
||||
|
||||
location ~ \.php$ {
|
||||
#NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
|
||||
include fastcgi.conf;
|
||||
fastcgi_intercept_errors on;
|
||||
fastcgi_pass php;
|
||||
}
|
||||
|
||||
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
|
||||
expires max;
|
||||
log_not_found off;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue