Start Invidious, Add OnlyOffice, Fixes (#11)

* Add directory and a link to the install instructions.

* Fix env file if user is in the current directory.

* Initial work on the Invidious configuration and README.

* Add postgres variables and TBD.

* Disabled the Invidious project, it is a lower priority than OnlyOffice and Mail.

* Allow disabled files to stay in the project, truly only block files with backup in the name.

* Create a file for OnlyOffice.

* Change the restart method to ALWAYS.

* Changed from disabled to TBD.

* Add a note to its README as well.
This commit is contained in:
Hyperling 2023-07-25 22:20:56 +00:00 committed by GitHub
parent 8602f7ada2
commit 43dee35d85
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 130 additions and 5 deletions

7
.gitignore vendored
View File

@ -2,7 +2,9 @@
Volumes/* Volumes/*
# Ignore backed up config files. # Ignore backed up config files.
*.yml.* *.yml.*backup*
*.yml.*Backup*
*.yml.*BACKUP*
# Ignore logs # Ignore logs
logs/* logs/*
@ -19,3 +21,6 @@ Config/MailServer/setup.sh
# Ignore any private key information. # Ignore any private key information.
private.key private.key
# Ignore secrets for Invidious.
Config/Invidious/*.env

View File

@ -0,0 +1,38 @@
[TBD: This setup has not been complete yet.]
# Installation
1. Create inv.env file and populate the following values:
[TBD does this work since the var is being piped in the compose file?]
```
user: kemal
password: kemal
domain=""
hmac_key=""
```
1. Create pg.env and populate the following values:
```
POSTGRES_USER:
POSTGRES_PASSWORD:
```
1. Make any changes to the `docker-compose.yml` file and start it up.
```
# docker compose up -d
```
The official instructions also suggest cloning the project first, but not sure
why. [TBD: It does not seem likethe cloning is necessary, the project starts fine.]
## Official Installation Documentation
https://docs.invidious.io/installation/
# Configuration
## Official Config Guide
https://docs.invidious.io/configuration/

View File

@ -0,0 +1,61 @@
# Invidious configuration.
# This is a revised version of the original work here:
# https://hub.docker.com/_/nextcloud
# Changelog:
# 2023-07-16 Change from mariadb:10.5 to 10.6.
version: "3"
services:
invidious:
image: quay.io/invidious/invidious:latest
restart: always
ports:
- "8300:3000"
env_file:
- ./inv.env
environment:
# Please read the following file for a comprehensive list of all available
# configuration options and their associated syntax:
# https://github.com/iv-org/invidious/blob/master/config/config.example.yml
INVIDIOUS_CONFIG: |
db:
dbname: invidious
user:
password:
host: invidious-db
port: 5432
check_tables: true
# external_port:
domain:
# https_only: false
# statistics_enabled: false
hmac_key:
healthcheck:
test: wget -nv --tries=1 --spider http://127.0.0.1:3000/api/v1/comments/jNQXAC9IVRw || exit 1
interval: 30s
timeout: 5s
retries: 2
logging:
options:
max-size: "1G"
max-file: "4"
depends_on:
- invidious-db
invidious-db:
image: docker.io/library/postgres:14
restart: always
volumes:
- ../../Volumes/Invidious/postgres/data:/var/lib/postgresql/data
- ../../Volumes/Invidious/postgres/config/sql:/config/sql
- ../../Volumes/Invidious/postgres/init-invidious-db.sh:/docker-entrypoint-initdb.d/init-invidious-db.sh
env_file:
- ./pg.env
environment:
POSTGRES_DB: invidious
POSTGRES_USER:
POSTGRES_PASSWORD:
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]

View File

@ -0,0 +1,11 @@
# 2023-07-25
# OnlyOffice server for Nextcloud.
version: '3'
services:
app:
image: onlyoffice/documentserver
restart: always
ports:
- 8000:80

View File

@ -8,6 +8,7 @@
version: '3' version: '3'
services: services:
app: app:
build: ./ build: ./
restart: always restart: always
@ -18,8 +19,10 @@ services:
- ../../Volumes/ReverseProxy/letsencrypt:/etc/nginx/letsencrypt - ../../Volumes/ReverseProxy/letsencrypt:/etc/nginx/letsencrypt
- ../../Volumes/ReverseProxy/letsencrypt-certs:/etc/nginx/certs - ../../Volumes/ReverseProxy/letsencrypt-certs:/etc/nginx/certs
command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'" command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
certbot: certbot:
image: certbot/certbot image: certbot/certbot
restart: always
volumes: volumes:
- ../../Volumes/ReverseProxy/letsencrypt:/etc/letsencrypt - ../../Volumes/ReverseProxy/letsencrypt:/etc/letsencrypt
- ../../Volumes/ReverseProxy/letsencrypt-certs:/var/www/certbot - ../../Volumes/ReverseProxy/letsencrypt-certs:/var/www/certbot

View File

@ -2,6 +2,13 @@
# Needs run in the current shell environment, such as: # Needs run in the current shell environment, such as:
# source /PATH_TO_GIT_PROJECT/source.env # source /PATH_TO_GIT_PROJECT/source.env
export DOCKER_HOME="$(dirname -- "${BASH_SOURCE[0]}")" DIR="$(dirname -- "${BASH_SOURCE[0]}")"
export DOCKER_PATH="$DOCKER_HOME/bin" if [[ $DIR == \.* ]]; then
export PATH="$DOCKER_PATH:$PATH" DIR="`pwd`"
fi
DOCKER_HOME="$DIR"
DOCKER_PATH="$DOCKER_HOME/bin"
PATH="$DOCKER_PATH:$PATH"
export DOCKER_HOME DOCKER_PATH PATH