This commit is contained in:
Lorenzo Carbonell 2022-10-03 20:29:49 +02:00
parent 61ed3507b8
commit e43040ba22
5 changed files with 114 additions and 0 deletions

23
snibox/README.md Normal file
View File

@ -0,0 +1,23 @@
# Installation
```
git clone https://github.com/atareao/self-hosted.git
cd self-hosted/snibox
mv sample.env .env
sed -i "s/snibox.tuservidor.es/el_fqdn_que_quieras/g" .env
```
A la hora de levantar el servicio dependerá del proxy inverso que hayas seleccionado. Si has elegido Caddy, simplemente,
```
docker-compose -f docker-compose.yml -f docker-compose.caddy.yml up -d
docker-compose logs -f
```
Mientras que si has elegido Traefik,
```
docker-compose -f docker-compose.yml -f docker-compose.traefik.yml up -d
docker-compose logs -f
```

View File

@ -0,0 +1,13 @@
version: "3"
services:
snibox:
networks:
- proxy
labels:
- caddy="${FQDN}"
- caddy.reverse_proxy="{{upstreams 80}}"
networks:
proxy:
external: true

View File

@ -0,0 +1,21 @@
version: "3"
services:
snibox:
networks:
- proxy
labels:
- traefik.enable=true
- traefik.http.services.snibox.loadbalancer.server.port=80
- traefik.http.routers.snibox.entrypoints=web
- traefik.http.routers.snibox.rule=Host(`${FQDN}`)
- traefik.http.middlewares.snibox-https-redirect.redirectscheme.scheme=websecure
- traefik.http.routers.snibox.middlewares=snibox-https-redirect
- traefik.http.routers.snibox-secure.entrypoints=websecure
- traefik.http.routers.snibox-secure.rule=Host(`${FQDN}`)
- traefik.http.routers.snibox-secure.tls=true
- traefik.http.routers.snibox-secure.tls.certresolver=letsencrypt
networks:
proxy:
external: true

53
snibox/docker-compose.yml Normal file
View File

@ -0,0 +1,53 @@
version: '3.7'
services:
snibox:
image: snibox/nginx-puma:1.15.9
init: true
volumes:
- static-files:/var/www/html
depends_on:
- backend
networks:
- internal
backend:
image: snibox/snibox:latest
init: true
command: sh -c "rm -rf tmp/pids && ./bin/rails s -p 3000 -b '0.0.0.0'"
environment:
DB_NAME: "${DB_NAME}"
DB_USER: "${DB_USER}"
DB_PASS: "${DB_PASS}"
DB_HOST: "${DB_HOST}"
DB_PORT: "${DB_PORT}"
FORCE_SSL: "${FORCE_SSL}"
MAILGUN_SMTP_PORT: "${MAILGUN_SMTP_PORT}"
MAILGUN_SMTP_SERVER: "${MAILGUN_SMTP_SERVER}"
MAILGUN_SMTP_LOGIN: "${MAILGUN_SMTP_LOGIN}"
MAILGUN_SMTP_PASSWORD: "${MAILGUN_SMTP_PASSWORD}"
MAILGUN_API_KEY: "${MAILGUN_API_KEY}"
MAILGUN_DOMAIN: "${MAILGUN_DOMAIN}"
MAILGUN_PUBLIC_KEY: "${MAILGUN_PUBLIC_KEY}"
SECRET_KEY_BASE: "${SECRET_KEY_BASE}"
volumes:
- static-files:/app/public
depends_on:
- database
networks:
- internal
database:
image: postgres:10.7-alpine
init: true
volumes:
- pg-data:/var/lib/postgresql/data
networks:
- internal
volumes:
pg-data:
static-files:
networks:
internal:

4
snibox/sample.env Normal file
View File

@ -0,0 +1,4 @@
FQDN=https://dnote.tuservidor.es
POSTGRES_USER=dnote
POSTGRES_PASSWORD=dnote
POSTGRES_DB=dnote