Initial Commit

This commit is contained in:
2025-02-05 20:29:47 +02:00
parent b765a8100c
commit ff55ea012d
28 changed files with 533 additions and 0 deletions

31
docker/jemma/.env Normal file
View File

@@ -0,0 +1,31 @@
COMPOSE_PROJECT_NAME=joplinserver
COMPOSE_FILE=joplinserver.yaml
#COMPOSE_PROFILES
#COMPOSE_PROFILES=frontend,debug
COMPOSE_ENV_FILES=../env/.env.common #, ../env/joplinserver.env
##### SYSTEM
PUID=1000
PGID=1000
TZ=Europe/HelsinkI
#USERDIR=/home/gurulandia
DOCKERDIR=/gurulandia/data
SECRETSDIR=/gurulandia/docker-shared/secrets
##### ProxyName
PROXYNAME=proxy
##### Traefik Container
TRAEFIK_CONTAINER_NAME=traefik
TRAEFIK_IMAGE=traefik
TRAEFIK_VERSION=latest
TRAEFIK_RESTART_POLICY=unless-stopped
##### socket-proxy Container
SOCKET_PROXY_CONTAINER_NAME=socket-proxy
SOCKET_PROXY_IMAGE=ghcr.io/tecnativa/docker-socket-proxy
SOCKET_PROXY_VERSION=latest
SOCKET_PROXY_RESTART_POLICY=always
DOCKER_ENDPOINT=tcp://${SOCKET_PROXY_CONTAINER_NAME}:2375

146
docker/jemma/compose.yaml Normal file
View File

@@ -0,0 +1,146 @@
name: myapp
networks:
proxy:
name: proxy
external: true
# joplinsrv:
# name: joplinsrv
# driver: bridge
# This is a sample docker-compose file that can be used to run Joplin Server
# along with a PostgreSQL server.
#
# Update the following fields in the stanza below:
#
# POSTGRES_USER
# POSTGRES_PASSWORD
# APP_BASE_URL
#
# APP_BASE_URL: This is the base public URL where the service will be running.
# - If Joplin Server needs to be accessible over the internet, configure APP_BASE_URL as follows: https://example.com/joplin.
# - If Joplin Server does not need to be accessible over the internet, set the APP_BASE_URL to your server's hostname.
# For Example: http://[hostname]:22300. The base URL can include the port.
# APP_PORT: The local port on which the Docker container will listen.
# - This would typically be mapped to port to 443 (TLS) with a reverse proxy.
# - If Joplin Server does not need to be accessible over the internet, the port can be mapped to 22300.
services:
# db:
# image: postgres:16
# volumes:
# - ./data/postgres:/var/lib/postgresql/data
# ports:
# - "5432:5432"
# restart: unless-stopped
# environment:
# - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
# - POSTGRES_USER=${POSTGRES_USER}
# - POSTGRES_DB=${POSTGRES_DATABASE}
app:
container_name: joplinsrv
image: joplin/server:latest
# depends_on:
# - db
# ports:
# - "22300:22300"
restart: unless-stopped
environment:
- APP_PORT=22300
#- APP_BASE_URL=http://10.0.6.177:22300
- APP_BASE_URL=https://joplin.lab.gurulandia.eu
- DB_CLIENT=pg
- POSTGRES_PASSWORD=joplinsrv
- POSTGRES_DATABASE=joplin
- POSTGRES_USER=joplinsrv
- POSTGRES_PORT=5432
- POSTGRES_HOST=10.0.6.178
#- STORAGE_DRIVER=Type=S3; Region=us-east-1; Path=http://192.168.55.30:53008; AccessKeyId=joplinsrv; SecretAccessKeyId=joplinsrv; Bucket=joplin
- MAILER_ENABLED=1
- MAILER_HOST=mailrise.lab.gurulandia.eu
- MAILER_PORT=465
- MAILER_SECURITY=tls
- MAILER_AUTH_USER=gurulandia
- MAILER_AUTH_PASSWORD=gurulandia
- MAILER_NOREPLY_NAME=JoplinServer
- MAILER_NOREPLY_EMAIL=my_email_address
networks:
- proxy
labels:
traefik.enable: true
## HTTP Routers
traefik.http.routers.joplin-server-rtr.entrypoints: https
traefik.http.routers.joplin-server-rtr.rule: Host(`joplin.lab.gurulandia.eu`)
## Middlewares
#- "traefik.http.routers.${GOTIFY_HOST_NAME}-rtr.middlewares=chain-authelia@file"
traefik.http.routers.joplinserver-rtr.middlewares: chain-no-auth@file
## HTTP Services
traefik.http.routers.joplin-server-rtr.service: joplin-server-svc
traefik.http.services.joplin-server-svc.loadbalancer.server.port: 22300
# dns_search:
# - dc1.example.com
# - dc2.example.com
# hostname:
#
# one:
# label_file: ./app.labels
#
# two:
# label_file:
# - ./app.labels
# - ./additional.labels
# dns: 8.8.8.8
# dns:
# - 8.8.8.8
# - 9.9.9.9
# domainname:
# test_lib:
# image: test_lib_image
# profiles:
# - test
# coverage_lib:
# image: coverage_lib_image
# depends_on:
# - test_lib
# profiles:
# - test
# debug_lib:
# image: debug_lib_image
# depends_on:
# - test_lib
# profiles:
# - debug
#include:
# - my-compose-include.yaml #with serviceB declared
#services:
# serviceA:
# build: .
# depends_on:
# - serviceB #use serviceB directly as if it was declared in this Compose file
#x-custom:
# foo:
# - bar
# - zot
#networks:
# network1:
# external: true
# name: "${NETWORK_ID}"
# depends_on:
# - crowdsec
#include:
# - my-compose-include.yaml #with serviceB declared
#services:
# serviceA:
# build: .
# depends_on:
# - serviceB #use serviceB directly as if it was declared in this Compose file