Add Docker image and compose with documentation
This commit is contained in:
parent
40f4770e17
commit
b27296e317
5 changed files with 114 additions and 1 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -8,3 +8,4 @@ admin.env
|
|||
.env
|
||||
_meta
|
||||
.serverless
|
||||
db/
|
||||
|
|
19
Dockerfile
Normal file
19
Dockerfile
Normal file
|
@ -0,0 +1,19 @@
|
|||
FROM python:3.6-alpine AS build
|
||||
RUN apk add build-base python3-dev linux-headers pcre-dev jpeg-dev zlib-dev
|
||||
RUN pip install --upgrade pip
|
||||
RUN pip install yt-dlp pillow uwsgi
|
||||
|
||||
FROM python:3.6-alpine AS deps
|
||||
WORKDIR /twitfix
|
||||
COPY requirements.txt requirements.txt
|
||||
COPY --from=build /usr/local/lib/python3.6/site-packages /usr/local/lib/python3.6/site-packages
|
||||
RUN pip install -r requirements.txt
|
||||
|
||||
FROM python:3.6-alpine AS runner
|
||||
EXPOSE 9000
|
||||
RUN apk add pcre-dev jpeg-dev zlib-dev
|
||||
WORKDIR /twitfix
|
||||
CMD ["uwsgi", "twitfix.ini"]
|
||||
COPY --from=build /usr/local/bin/uwsgi /usr/local/bin/uwsgi
|
||||
COPY --from=deps /usr/local/lib/python3.6/site-packages /usr/local/lib/python3.6/site-packages
|
||||
COPY . .
|
29
docker-compose.yml
Normal file
29
docker-compose.yml
Normal file
|
@ -0,0 +1,29 @@
|
|||
version: "3"
|
||||
|
||||
services:
|
||||
proxy:
|
||||
image: nginx:alpine
|
||||
container_name: twitfix_proxy
|
||||
volumes:
|
||||
- "./twitfix_proxy.conf:/etc/nginx/conf.d/default.conf"
|
||||
ports:
|
||||
- 8088:80
|
||||
depends_on:
|
||||
- twitfix
|
||||
|
||||
twitfix:
|
||||
image: twitfix
|
||||
build: .
|
||||
container_name: twitfix_main
|
||||
volumes:
|
||||
- "./twitfix.ini:/twitfix/twitfix.ini:ro"
|
||||
- "./config.json:/twitfix/config.json:ro"
|
||||
depends_on:
|
||||
- db
|
||||
|
||||
db:
|
||||
image: mongo:5.0.9
|
||||
container_name: twitfix_db
|
||||
volumes:
|
||||
- "./db:/data/db"
|
||||
|
40
docker.md
Normal file
40
docker.md
Normal file
|
@ -0,0 +1,40 @@
|
|||
# vxTwitter Docker
|
||||
|
||||
## Configuration
|
||||
|
||||
Setup mongodb in `config.json`:
|
||||
```json
|
||||
{
|
||||
"config":{
|
||||
"link_cache":"db",
|
||||
"database":"mongodb://twitfix_db:27017/",
|
||||
[...]
|
||||
},
|
||||
[...]
|
||||
}
|
||||
```
|
||||
|
||||
Use TCP socket for uwsgi `twitfix.ini`:
|
||||
```ini
|
||||
[uwsgi]
|
||||
module = wsgi:app
|
||||
|
||||
master = true
|
||||
processes = 5
|
||||
|
||||
socket = 0.0.0.0:9000
|
||||
buffer-size = 8192
|
||||
#socket = /var/run/twitfix.sock
|
||||
#chmod-socket = 660
|
||||
vacuum = true
|
||||
|
||||
die-on-term = true
|
||||
```
|
||||
|
||||
## Run
|
||||
|
||||
To run and build, use this command:
|
||||
```bash
|
||||
docker-compose up -d --build
|
||||
```
|
||||
|
24
twitfix_proxy.conf
Normal file
24
twitfix_proxy.conf
Normal file
|
@ -0,0 +1,24 @@
|
|||
server {
|
||||
listen 80;
|
||||
server_name localhost;
|
||||
|
||||
#access_log /var/log/nginx/host.access.log main;
|
||||
|
||||
location / {
|
||||
try_files $uri @twitfix;
|
||||
}
|
||||
|
||||
location @twitfix {
|
||||
include uwsgi_params;
|
||||
uwsgi_pass uwsgi://twitfix_main:9000;
|
||||
}
|
||||
|
||||
#error_page 404 /404.html;
|
||||
|
||||
# redirect server error pages to the static page /50x.html
|
||||
#
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root /usr/share/nginx/html;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue