Lint & general cleanup

This commit is contained in:
Cian Hughes
2024-01-10 17:05:07 +00:00
parent 5fb70cae60
commit 465eb89ab8
3 changed files with 63 additions and 68 deletions

12
deploy
View File

@@ -1,12 +1,12 @@
#!/usr/bin/env poetry run python
from typing import Optional
import typer # type: ignore
import subprocess
import portainer # type: ignore
import docker # type: ignore
from typing import Optional
import docker # type: ignore
import portainer # type: ignore
import tomllib
from pathlib import Path
import typer # type: ignore
def docker_deploy_core(stack_name: Optional[str] = "core"):
@@ -52,8 +52,6 @@ def docker_deploy_stack(username: str, password: str, stack_name: Optional[str]
repository_url=fetch_repository_url(),
)
)
# breakpoint() #! TODO: Implement way of using portainer api to deploy stack
# subprocess.run(["docker", "stack", "deploy", "-c", "stack.yaml", stack_name])
def docker_deploy_all(username: str, password: str, core_name: Optional[str] = "core", stack_name: Optional[str] = "stack"):

View File

@@ -5,14 +5,12 @@ description = ""
authors = ["Cian Hughes <cian.hughes@dcu.ie>"]
readme = "README.md"
repository = "https://github.com/Cian-H/I-Form_Research_Server_Stack"
packages = [
{ include = "deploy", from = "." },
]
packages = [{ include = "deploy", from = "." }]
[tool.poetry.dependencies]
python = "^3.11"
typer = "^0.9.0"
portainer = {path = "src/portainer_api"}
portainer = { path = "src/portainer_api" }
docker = "^7.0.0"
[tool.poetry.group.dev.dependencies]

View File

@@ -1,6 +1,5 @@
version: "3.8"
services:
###~~~~~~ First, we should plan our network management services ~~~~~~###
# Obviously, we should add the portainer agent service for managing swarm resources
@@ -52,15 +51,15 @@ services:
# - traefik_cert
# - traefik_key
whoami:
image: "containous/whoami"
labels:
- "traefik.enable=true"
# - "traefik.http.routers.whoami.entrypoints=web"
- "traefik.http.routers.whoami.rule=Host(`whoami.${traefikhost}`)"
- "traefik.http.routers.whoami.tls=true"
- "traefik.http.routers.whoami.tls.certresolver=myresolver"
networks:
- i-form_research_server_stack
image: "containous/whoami"
labels:
- "traefik.enable=true"
# - "traefik.http.routers.whoami.entrypoints=web"
- "traefik.http.routers.whoami.rule=Host(`whoami.${traefikhost}`)"
- "traefik.http.routers.whoami.tls=true"
- "traefik.http.routers.whoami.tls.certresolver=myresolver"
networks:
- i-form_research_server_stack
###~~~~~~ Then, we will need numerous databases for our various services ~~~~~~###
# We want neo4j as a graph database that can easily be used by other services
neo4j:
@@ -115,23 +114,23 @@ services:
restart_policy:
condition: on-failure
cap_drop:
- AUDIT_WRITE
- MKNOD
- SYS_CHROOT
- SETFCAP
- NET_RAW
- AUDIT_WRITE
- MKNOD
- SYS_CHROOT
- SETFCAP
- NET_RAW
cap_add:
- SYS_NICE
- SYS_NICE
secrets:
- elabftw_sql_key
- elabftw_sql_key
environment:
MYSQL_DATABASE: "elabftw"
MYSQL_USER: "elabftw"
MYSQL_PASSWORD: /run/secrets/elabftw_sql_key
MYSQL_RANDOM_ROOT_PASSWORD: 1
TZ: "Europe/Paris"
MYSQL_DATABASE: "elabftw"
MYSQL_USER: "elabftw"
MYSQL_PASSWORD: /run/secrets/elabftw_sql_key
MYSQL_RANDOM_ROOT_PASSWORD: 1
TZ: "Europe/Paris"
volumes:
- elabftw_sql:/var/lib/mysql
- elabftw_sql:/var/lib/mysql
networks:
- i-form_research_server_stack
###~~~~~~ Then, we plan our general utility services ~~~~~~###
@@ -205,43 +204,43 @@ services:
restart_policy:
condition: on-failure
depends_on:
- mysql
- mysql
cap_drop:
- ALL
- ALL
cap_add:
- CHOWN
- SETGID
- SETUID
- FOWNER
- DAC_OVERRIDE
- CHOWN
- SETGID
- SETUID
- FOWNER
- DAC_OVERRIDE
secrets:
- elabftw_sql_key
- elabftw_secret_key
- elabftw_sql_key
- elabftw_secret_key
environment:
SECRET_KEY: /run/secrets/elabftw_secret_key
DB_HOST: "mysql"
DB_PORT: "3306"
DB_NAME: "elabftw"
DB_USER: "elabftw"
DB_PASSWORD: "/run/secrets/elabftw_sql_key"
# - DB_PASSWORD=$$DB_PASSWORD
# DB_CERT_PATH: "/mysql-cert/cert.pem"
PHP_TIMEZONE: "Europe/Paris"
TZ: "Europe/Paris"
SERVER_NAME: "I-Form eLabFTW"
SITE_URL: "elab.i-form.ie"
DISABLE_HTTPS: 1
ENABLE_LETSENCRYPT: 0
SECRET_KEY: /run/secrets/elabftw_secret_key
DB_HOST: "mysql"
DB_PORT: "3306"
DB_NAME: "elabftw"
DB_USER: "elabftw"
DB_PASSWORD: "/run/secrets/elabftw_sql_key"
# - DB_PASSWORD=$$DB_PASSWORD
# DB_CERT_PATH: "/mysql-cert/cert.pem"
PHP_TIMEZONE: "Europe/Paris"
TZ: "Europe/Paris"
SERVER_NAME: "I-Form eLabFTW"
SITE_URL: "elab.i-form.ie"
DISABLE_HTTPS: 1
ENABLE_LETSENCRYPT: 0
ports:
- "443:443"
- "443:443"
volumes:
- elabftw_uploads:/elabftw/uploads
- elabftw_var:/var/elabftw
- elabftw_etc:/etc/elabftw
# if you have enabled letsencrypt, uncomment the line below
# path to the folder with TLS certificate + private key
# host:container
#- /etc/letsencrypt:/ssl
- elabftw_uploads:/elabftw/uploads
- elabftw_var:/var/elabftw
- elabftw_etc:/etc/elabftw
# if you have enabled letsencrypt, uncomment the line below
# path to the folder with TLS certificate + private key
# host:container
#- /etc/letsencrypt:/ssl
networks:
- i-form_research_server_stack
labels:
@@ -277,7 +276,7 @@ services:
# - "traefik.http.routers.solr.rule=Host(`solr.${traefikhost}`)"
# - "traefik.http.services.solr.loadbalancer.server.port=8983"
# - "traefik.http.routers.solr.tls=true"
# - "traefik.http.routers.solr.tls.certresolver=myresolver"
# - "traefik.http.routers.solr.tls.certresolver=myresolver"
# networks:
# - i-form_research_server_stack
@@ -311,7 +310,7 @@ services:
# - traefik.http.services.minio-console.loadbalancer.server.port=9001
# networks:
# - i-form_research_server_stack
# dataverse:
# image: coronawhy/dataverse:5.13.allclouds
# tty: true # DEBUG
@@ -561,4 +560,4 @@ secrets:
elabftw_secret_key:
external: true
dataverse_postgres_key:
external: true
external: true