forked from mirror/pixelfed
Add simple docker deployment
This commit is contained in:
parent
0f55fbacc4
commit
77ca794cf0
5 changed files with 86 additions and 0 deletions
7
.dockerignore
Normal file
7
.dockerignore
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
storage
|
||||||
|
data
|
||||||
|
Dockerfile
|
||||||
|
.dockerignore
|
||||||
|
.git
|
||||||
|
.gitignore
|
||||||
|
.env
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -6,6 +6,7 @@
|
||||||
/.idea
|
/.idea
|
||||||
/.vscode
|
/.vscode
|
||||||
/.vagrant
|
/.vagrant
|
||||||
|
/docker-volumes
|
||||||
Homestead.json
|
Homestead.json
|
||||||
Homestead.yaml
|
Homestead.yaml
|
||||||
npm-debug.log
|
npm-debug.log
|
||||||
|
|
17
Dockerfile
Normal file
17
Dockerfile
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
FROM php:7.2-fpm-alpine
|
||||||
|
|
||||||
|
RUN apk add --no-cache git imagemagick \
|
||||||
|
&& apk add --no-cache --virtual .build build-base autoconf imagemagick-dev libtool \
|
||||||
|
&& docker-php-ext-install pdo_mysql \
|
||||||
|
&& pecl install imagick \
|
||||||
|
&& docker-php-ext-enable imagick \
|
||||||
|
&& apk del --purge .build
|
||||||
|
|
||||||
|
RUN curl -sS https://getcomposer.org/installer | php \
|
||||||
|
&& mv composer.phar /usr/local/bin/ \
|
||||||
|
&& ln -s /usr/local/bin/composer.phar /usr/local/bin/composer
|
||||||
|
|
||||||
|
WORKDIR /var/www/html
|
||||||
|
COPY . .
|
||||||
|
RUN composer install --prefer-source --no-interaction
|
||||||
|
ENV PATH="~/.composer/vendor/bin:./vendor/bin:${PATH}"
|
22
contrib/nginx.conf
Normal file
22
contrib/nginx.conf
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
server {
|
||||||
|
listen 80 default_server;
|
||||||
|
listen [::]:80 default_server;
|
||||||
|
server_name localhost;
|
||||||
|
|
||||||
|
index index.php index.html;
|
||||||
|
root /var/www/html/public;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
try_files $uri $uri/ /index.php;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ \.php$ {
|
||||||
|
try_files $uri =404;
|
||||||
|
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||||
|
fastcgi_pass php:9000;
|
||||||
|
fastcgi_index index.php;
|
||||||
|
include fastcgi_params;
|
||||||
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
|
fastcgi_param PATH_INFO $fastcgi_path_info;
|
||||||
|
}
|
||||||
|
}
|
39
docker-compose.yml
Normal file
39
docker-compose.yml
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
---
|
||||||
|
version: '3'
|
||||||
|
services:
|
||||||
|
nginx:
|
||||||
|
image: nginx:alpine
|
||||||
|
ports:
|
||||||
|
- 3000:80
|
||||||
|
volumes:
|
||||||
|
- .:/var/www/html
|
||||||
|
- ./contrib/nginx.conf:/etc/nginx/conf.d/default.conf
|
||||||
|
depends_on:
|
||||||
|
- php
|
||||||
|
php:
|
||||||
|
build: .
|
||||||
|
volumes:
|
||||||
|
- ./storage:/var/www/html/storage
|
||||||
|
depends_on:
|
||||||
|
- mysql
|
||||||
|
- redis
|
||||||
|
environment:
|
||||||
|
- DB_HOST=mysql
|
||||||
|
- DB_DATABASE=pixelfed
|
||||||
|
- DB_USERNAME=${DB_USERNAME}
|
||||||
|
- DB_PASSWORD=${DB_PASSWORD}
|
||||||
|
- REDIS_HOST=redis
|
||||||
|
- APP_KEY=${APP_KEY}
|
||||||
|
mysql:
|
||||||
|
image: mysql:5.7
|
||||||
|
environment:
|
||||||
|
- MYSQL_DATABASE=pixelfed
|
||||||
|
- MYSQL_USER=${DB_USERNAME}
|
||||||
|
- MYSQL_PASSWORD=${DB_PASSWORD}
|
||||||
|
volumes:
|
||||||
|
- ./docker-volumes/mysql:/var/lib/mysql
|
||||||
|
redis:
|
||||||
|
image: redis:alpine
|
||||||
|
volumes:
|
||||||
|
- ./docker-volumes/redis:/data
|
||||||
|
...
|
Loading…
Reference in a new issue