¿Sobre qué, por qué y por qué?
Decidà escribir esta breve nota después de mi propia experiencia de implementar una "infraestructura" personal que consta de varias aplicaciones para los asuntos cotidianos.
Aquà te diré cómo implementar servicios para controlar las finanzas ( FireFly3 ), notas y lo que es más grande ( BookStack ) y controlar el tiempo dedicado a tareas en proyectos de código abierto o en el trabajo ( Titra ) - todo esto en Vultr con protección usando grupos de firewall y acceso solo desde la ip necesaria, por ejemplo, home statics o vpn (expandiremos Pritunl para esto).
Elegà Vultr porque he estado trabajando con él durante mucho tiempo y ya sé qué puede y qué no; en mi caso, salió perfecto.
Espero que esto sea Ăştil para alguien.
Despliegue de servicios
Para los servicios (los tres), elegà una instancia simple en las copias de seguridad automáticas de Vultr +, ya que todos ellos no son particularmente exigentes en recursos.
.: , DNS, (certbot), , , personal.io, :)
. 2: — docker, , .
— FireFly3
. : , - , - .
FireFly3 , , .. ..
firefly3 , docker, . docker-compose c firefly :
version: '3.3' services: fireflyiii: image: jc5x/firefly-iii:latest volumes: - firefly_iii_upload:/var/www/html/storage/upload env_file: - .env restart: unless-stopped ports: - 127.0.0.1:34567:8080 depends_on: - fireflyiiidb fireflyiiidb: image: yobasystems/alpine-mariadb:latest restart: unless-stopped env_file: - .env.db volumes: - firefly_iii_db:/var/lib/mysql volumes: firefly_iii_upload: driver: local firefly_iii_db: driver: local
, env- , , : , (SMTP MAILGUN), , (, , eloquent LDAP), , finance.personal.io. env- ( ) pastebin .
firefly3 , nginx proxypass , .
, .. — BookStack
/, - , , BookStack — , , markdown ( , ), : --.
, .
docker-compose.yml:
version: "3.1" services: bookstack: image: linuxserver/bookstack container_name: bookstack volumes: - bookstack-volume:/config ports: - 127.0.0.1:34568:80 env_file: - .env.bookstack restart: unless-stopped depends_on: - bookstack_db bookstack_db: image: linuxserver/mariadb container_name: bookstack_db volumes: - bookstack-db:/config env_file: - .env.db restart: unless-stopped volumes: bookstack-volume: driver: local bookstack-db: driver: local
, firefly, web .
.env.bookstack:
DB_HOST=bookstack_db DB_USER=bookstack DB_PASS=bookstackpassword DB_DATABASE=bookstackapp APP_URL=https://notes.personal.io
, admin , .
bookstack LDAP, SAML — . pdf html, , .. .
— Titra
, , , . Titra , , (, ), ( ), ..
docker-compose.yml:
version: "3.1" services: titra: image: kromit/titra container_name: titra depends_on: - mongodb ports: - "127.0.0.1:34569:3000" env_file: - .env.titra restart: always mongodb: image: mongo:4.2 container_name: mongodb restart: always volumes: - titra_db:/data/db volumes: titra_db: driver: local
.env.titra:
ROOT_URL=https://titra.personal.io MONGO_URL=mongodb://mongodb/titra
: — Homer
, , , , . , heimdall homer, , .
Homer , , (, ).
docker-compose.yml:
version: "3.3" services: homer: image: b4bz/homer:latest volumes: - ./assets:/www/assets ports: - "127.0.0.1:34570:8080" restart: unless-stopped
homer assets config.yml, , .
:
title: "Infrastructure" subtitle: "Personal" documentTitle: "Personal/Infrastructure" icon: "fas fa-skull-crossbones" header: true columns: "3" theme: default colors: dark: highlight-primary: "#3367d6" highlight-secondary: "#4285f4" highlight-hover: "#5a95f5" background: "#131313" card-background: "#2b2b2b" text: "#eaeaea" text-header: "#ffffff" text-title: "#fafafa" text-subtitle: "#f5f5f5" card-shadow: rgba(0, 0, 0, 0.4) link-hover: "#ffdd57" services: - name: "Main" icon: "fas fa-code-branch" items: - name: "Titra" icon: "fas fa-clock" subtitle: "time-tracking" url: "https://titra.personal.io" - name: "FireFly3" icon: "fas fa-piggy-bank" subtitle: "finance" url: "https://finance.personal.io" - name: "BookStack" icon: "fas fa-book" subtitle: "notes-articles-book" url: "https://notes.personal.io"
:
home.personal.io
, nginx certbot. , : apps.conf
nginx:
systemctl start nginx
, A- DNS , home, notes, finance, titra ip Vultr, certbot Let's Encrypt, :
certbot run --nginx
, .
, , :
- Prtinul
- firewall Vultr
, firewall vultr ( )
"Add firewall group".
, , , 22 , - VPN. , :
, , .
.








