commit new services
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
This commit is contained in:
parent
2c3936ff5a
commit
f8f287cd84
8
services/cronmaster/.env
Normal file
8
services/cronmaster/.env
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# Dot Env for service сronmaster created at Sun Nov 16 12:44:00 PM EET 2025
|
||||||
|
#СRONMASTER_CONFIG_REMOTE='/home/vm-user/remote-apps/сronmaster/config'
|
||||||
|
#СRONMASTER_CONFIG_LOCAL='/home/vm-user/local-apps/сronmaster/config'
|
||||||
|
#СRONMASTER_DATA_REMOTE='/home/vm-user/remote-apps/сronmaster/data'
|
||||||
|
CRONMASTER_DATA_LOCAL='/home/vm-user/local-apps/сronmaster/data'
|
||||||
|
CRONMASTER_DATA_LOCAL_SCRIPTS='/home/vm-user/local-apps/сronmaster/data/scripts'
|
||||||
|
CRONMASTER_DATA_LOCAL_SNIPPETS='/home/vm-user/local-apps/сronmaster/data/snippets'
|
||||||
|
PASSWORD='Yy572NHMqlozZXNMwsYRW2DeZ1q7y1brBXaNmmwWfDBUHEWRT65QsfGpzCODZWir'
|
||||||
24
services/cronmaster/docker-compose.yml
Normal file
24
services/cronmaster/docker-compose.yml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# Docker Compose for service сronmaster created at Sun Nov 16 12:44:00 PM EET 2025
|
||||||
|
# For all configuration options, see howto/DOCKER.md
|
||||||
|
services:
|
||||||
|
cronmaster:
|
||||||
|
image: ghcr.io/fccview/cronmaster:latest
|
||||||
|
container_name: cronmaster
|
||||||
|
user: "root"
|
||||||
|
ports:
|
||||||
|
- "${SVC_PORT_1}:3000"
|
||||||
|
environment:
|
||||||
|
- NODE_ENV=production
|
||||||
|
- DOCKER=true
|
||||||
|
- NEXT_PUBLIC_CLOCK_UPDATE_INTERVAL=30000
|
||||||
|
- AUTH_PASSWORD=${PASSWORD}
|
||||||
|
- HOST_CRONTAB_USER=root
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- ${CRONMASTER_DATA_LOCAL_SCRIPTS}:/app/scripts
|
||||||
|
- ${CRONMASTER_DATA_LOCAL}:/app/data
|
||||||
|
- ${CRONMASTER_DATA_LOCAL_SNIPPETS}:/app/snippets
|
||||||
|
pid: "host"
|
||||||
|
privileged: true
|
||||||
|
restart: always
|
||||||
|
init: true
|
||||||
7
services/invitations/.env
Normal file
7
services/invitations/.env
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# Dot Env for service invitations created at Wed Sep 24 11:53:03 AM EEST 2025
|
||||||
|
LOCAL_APPS='/home/vm-user/local-apps'
|
||||||
|
REMOTE_APPS='/home/vm-user/remote-apps'
|
||||||
|
#INVITATIONS_CONFIG_REMOTE='${REMOTE_APPS}/config'
|
||||||
|
#INVITATIONS_CONFIG_LOCAL='${LOCAL_APPS}/config'
|
||||||
|
#INVITATIONS_DATA_REMOTE='${REMOTE_APPS}/data'
|
||||||
|
#INVITATIONS_DATA_LOCAL='${LOCAL_APPS}/data'
|
||||||
10
services/invitations/docker-compose.yml
Normal file
10
services/invitations/docker-compose.yml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
# Docker Compose for service invitations created at Wed Sep 24 11:53:03 AM EEST 2025
|
||||||
|
services:
|
||||||
|
nginx:
|
||||||
|
image: nginx
|
||||||
|
container_name: invitation-novoselye
|
||||||
|
volumes:
|
||||||
|
- /home/tylen/andromeda-setup/services/invitations/novoselye:/usr/share/nginx/html:ro
|
||||||
|
ports:
|
||||||
|
- ${SVC_PORT_1}:80
|
||||||
|
restart: always
|
||||||
98
services/invitations/novoselye/index.css
Normal file
98
services/invitations/novoselye/index.css
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
/* Reset some default styles */
|
||||||
|
* {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
line-height: 1.6;
|
||||||
|
background-color: #f9f9f9; /* Light background for contrast */
|
||||||
|
color: #333; /* Darker text for readability */
|
||||||
|
padding: 20px;
|
||||||
|
display: flex; /* Use flexbox for centering */
|
||||||
|
justify-content: center; /* Center horizontally */
|
||||||
|
align-items: center; /* Center vertically */
|
||||||
|
min-height: 100vh; /* Full viewport height */
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
max-width: 800px; /* Limit the width of the content */
|
||||||
|
width: 100%; /* Full width up to max-width */
|
||||||
|
padding: 20px; /* Padding inside the container */
|
||||||
|
background-color: white; /* White background for the content */
|
||||||
|
border-radius: 8px; /* Rounded corners */
|
||||||
|
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2, h4 {
|
||||||
|
color: #2c3e50; /* Darker shade for headings */
|
||||||
|
margin-bottom: 10px;
|
||||||
|
text-align: center; /* Center headings */
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 2.5em; /* Larger font size for main title */
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: 1.8em; /* Slightly smaller for subheadings */
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-bottom: 15px; /* Space between paragraphs */
|
||||||
|
text-align: center; /* Center paragraphs */
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
list-style-type: none; /* Remove bullet points */
|
||||||
|
padding-left: 0; /* Remove default padding */
|
||||||
|
}
|
||||||
|
|
||||||
|
ul li {
|
||||||
|
margin-bottom: 10px; /* Space between list items */
|
||||||
|
text-align: center; /* Center list items */
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width: 100%; /* Full width for tables */
|
||||||
|
border-collapse: collapse; /* Remove space between borders */
|
||||||
|
margin: 20px 0; /* Space above and below tables */
|
||||||
|
}
|
||||||
|
|
||||||
|
th, td {
|
||||||
|
border: 1px solid #ddd; /* Light border for table cells */
|
||||||
|
padding: 10px; /* Padding inside cells */
|
||||||
|
text-align: left; /* Align text to the left */
|
||||||
|
}
|
||||||
|
|
||||||
|
th {
|
||||||
|
background-color: #2c3e50; /* Dark background for headers */
|
||||||
|
color: white; /* White text for headers */
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
max-width: 100%; /* Responsive images */
|
||||||
|
height: auto; /* Maintain aspect ratio */
|
||||||
|
margin: 20px 0; /* Space above and below images */
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
background-color: #eaeaea; /* Light background for code */
|
||||||
|
padding: 2px 4px; /* Padding around code */
|
||||||
|
border-radius: 4px; /* Rounded corners */
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-block {
|
||||||
|
background-color: #e7f3fe; /* Light blue background */
|
||||||
|
border-left: 6px solid #2196F3; /* Blue left border */
|
||||||
|
padding: 10px 15px; /* Padding inside the block */
|
||||||
|
margin: 20px 0; /* Space above and below the block */
|
||||||
|
border-radius: 4px; /* Rounded corners */
|
||||||
|
color: #333; /* Dark text color */
|
||||||
|
text-align: center; /* Center text */
|
||||||
|
}
|
||||||
|
|
||||||
100
services/invitations/novoselye/index.html
Normal file
100
services/invitations/novoselye/index.html
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<link rel="stylesheet" href="index.css" />
|
||||||
|
<style>
|
||||||
|
/* Inline styles can be removed as they are now in index.css */
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<h1 id="-27-28-09-">Приглашение на новоселье 27-28.09 🏡</h1>
|
||||||
|
<p>
|
||||||
|
Дорогой друг, приглашаем и ожидаем тебя у нас дома
|
||||||
|
<strong><strong>27 сентября</strong></strong> к
|
||||||
|
<strong><strong>трем часам дня</strong></strong> (27.09.2025 15:00)!
|
||||||
|
</p>
|
||||||
|
<h2 id="-">Местоположение</h2>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
href="https://www.openstreetmap.org/way/1083320458#map=19/61.504799/25.667193"
|
||||||
|
>OpenStreetMap</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="https://maps.app.goo.gl/NKyvqn6YRajGg4yQ7">Google Maps</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
<img style="border-radius: 12%;"
|
||||||
|
src="https://davydovcloud.com/public.php/dav/files/i2bZdqtYBi3rPYA"
|
||||||
|
alt="Карта для приезда"
|
||||||
|
/>
|
||||||
|
</p>
|
||||||
|
<h2 id="-">Программа</h2>
|
||||||
|
<p>27 сентября</p>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Дейстиве</th>
|
||||||
|
<th>Примерное время</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>Заселение и экскурсия по владениям 👥 🗺️</td>
|
||||||
|
<td>15 - 16</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Гриль 🍖 🥩 🐓</td>
|
||||||
|
<td>16 - 18</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Ужин 🍽️</td>
|
||||||
|
<td>18 - 19</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Вечерние посиделки 🍾 🥂</td>
|
||||||
|
<td>19 - ∞</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<div class="info-block">
|
||||||
|
<p>Те, кто уже был на экскурсии могут приехать к грилю, если хотят</p>
|
||||||
|
</div>
|
||||||
|
<p>28 сентября</p>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Действие</th>
|
||||||
|
<th>Время</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>Просыпаемся и завтракаем 🌅 🍳</td>
|
||||||
|
<td>07 - 12</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Отдых, прогулка, (может сауна если кто захочет) 🌲 🍃 🛏️</td>
|
||||||
|
<td>12 - 15</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<h2 id="-">Прогноз погоды на субботу</h2>
|
||||||
|
<p>
|
||||||
|
<img
|
||||||
|
src="https://davydovcloud.com/public.php/dav/files/w7FWMXkYimmZaKZ/"
|
||||||
|
alt="Прогноз погоды на 27 сентября в Сюсьме"
|
||||||
|
/>
|
||||||
|
</p>
|
||||||
|
<h2 id="-">Просим с собой взять следущие вещи</h2>
|
||||||
|
<ul>
|
||||||
|
<li>Свое полотенце</li>
|
||||||
|
<li>Игры (Твистер, настолки на ваш вкус)</li>
|
||||||
|
<li>Плавки на случай если пойдем в сауну</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
5
services/mealie/.env
Normal file
5
services/mealie/.env
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# Dot Env for service mealie created at Sun Nov 16 11:22:38 AM EET 2025
|
||||||
|
#MEALIE_CONFIG_REMOTE='/home/vm-user/remote-apps/mealie/config'
|
||||||
|
#MEALIE_CONFIG_LOCAL='/home/vm-user/local-apps/mealie/config'
|
||||||
|
#MEALIE_DATA_REMOTE='/home/vm-user/remote-apps/mealie/data'
|
||||||
|
MEALIE_DATA_LOCAL='/home/vm-user/local-apps/mealie/data'
|
||||||
24
services/mealie/docker-compose.yml
Normal file
24
services/mealie/docker-compose.yml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# Docker Compose for service mealie created at Sun Nov 16 11:22:38 AM EET 2025
|
||||||
|
services:
|
||||||
|
mealie:
|
||||||
|
image: ghcr.io/mealie-recipes/mealie:v3.5.0 #
|
||||||
|
container_name: mealie
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "${SVC_PORT_1}:9000" #
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 1000M #
|
||||||
|
volumes:
|
||||||
|
- ${MEALIE_DATA_LOCAL}:/app/data/
|
||||||
|
environment:
|
||||||
|
# Set Backend ENV Variables Here
|
||||||
|
ALLOW_SIGNUP: "false"
|
||||||
|
PUID: 1000
|
||||||
|
PGID: 1000
|
||||||
|
TZ: America/Anchorage
|
||||||
|
BASE_URL: https://mealie.yourdomain.com
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
mealie-data:
|
||||||
@ -7,6 +7,12 @@ services:
|
|||||||
container_name: portainer
|
container_name: portainer
|
||||||
hostname: portainer
|
hostname: portainer
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 256M
|
||||||
|
reservations:
|
||||||
|
memory: 128M
|
||||||
ports:
|
ports:
|
||||||
- ${SVC_PORT_1}:9443
|
- ${SVC_PORT_1}:9443
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
@ -40,6 +40,20 @@ services:
|
|||||||
<<: *vm-personal-100-16
|
<<: *vm-personal-100-16
|
||||||
<<: *defaultServiceValues
|
<<: *defaultServiceValues
|
||||||
|
|
||||||
|
- name: "invitations"
|
||||||
|
ports:
|
||||||
|
- 9444
|
||||||
|
host:
|
||||||
|
<<: *vm-personal-100-16
|
||||||
|
<<: *defaultServiceValues
|
||||||
|
|
||||||
|
- name: "cronmaster"
|
||||||
|
ports:
|
||||||
|
- 9445
|
||||||
|
host:
|
||||||
|
<<: *vm-personal-100-16
|
||||||
|
<<: *defaultServiceValues
|
||||||
|
|
||||||
# ================================
|
# ================================
|
||||||
# vm-tools-100-52
|
# vm-tools-100-52
|
||||||
# ================================
|
# ================================
|
||||||
@ -50,6 +64,20 @@ services:
|
|||||||
# <<: *vm-tools-100-52
|
# <<: *vm-tools-100-52
|
||||||
# <<: *defaultServiceValues
|
# <<: *defaultServiceValues
|
||||||
|
|
||||||
|
- name: "wishlist"
|
||||||
|
ports:
|
||||||
|
- 3005
|
||||||
|
host:
|
||||||
|
<<: *vm-tools-100-52
|
||||||
|
<<: *defaultServiceValues
|
||||||
|
|
||||||
|
- name: "mealie"
|
||||||
|
ports:
|
||||||
|
- 3006
|
||||||
|
host:
|
||||||
|
<<: *vm-tools-100-52
|
||||||
|
<<: *defaultServiceValues
|
||||||
|
|
||||||
# ================================
|
# ================================
|
||||||
# vm-media-100-55
|
# vm-media-100-55
|
||||||
# ================================
|
# ================================
|
||||||
|
|||||||
@ -4,6 +4,8 @@
|
|||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
GIT_REPO_ROOT=$(git rev-parse --show-toplevel)
|
GIT_REPO_ROOT=$(git rev-parse --show-toplevel)
|
||||||
|
LOCAL_APPS='/home/vm-user/local-apps'
|
||||||
|
REMOTE_APPS='/home/vm-user/remote-apps'
|
||||||
|
|
||||||
function create_dotenv() {
|
function create_dotenv() {
|
||||||
local service_path="${1}"
|
local service_path="${1}"
|
||||||
@ -12,12 +14,10 @@ function create_dotenv() {
|
|||||||
|
|
||||||
printf "# Dot Env for service %s created at %s\n" \
|
printf "# Dot Env for service %s created at %s\n" \
|
||||||
"${service_name}" "$(TZ=Europe/Helsinki date)" > "${service_path}/.env"
|
"${service_name}" "$(TZ=Europe/Helsinki date)" > "${service_path}/.env"
|
||||||
echo "LOCAL_APPS='/home/vm-user/local-apps'" >> "${service_path}/.env"
|
echo "#${service_name_cap}_CONFIG_REMOTE='${REMOTE_APPS}/${service_name}/config'" >> "${service_path}/.env"
|
||||||
echo "REMOTE_APPS='/home/vm-user/remote-apps'" >> "${service_path}/.env"
|
echo "#${service_name_cap}_CONFIG_LOCAL='${LOCAL_APPS}/${service_name}/config'" >> "${service_path}/.env"
|
||||||
echo "#${service_name_cap}_CONFIG_REMOTE='\${REMOTE_APPS}/config'" >> "${service_path}/.env"
|
echo "#${service_name_cap}_DATA_REMOTE='${REMOTE_APPS}/${service_name}/data'" >> "${service_path}/.env"
|
||||||
echo "#${service_name_cap}_CONFIG_LOCAL='\${LOCAL_APPS}/config'" >> "${service_path}/.env"
|
echo "#${service_name_cap}_DATA_LOCAL='${LOCAL_APPS}/${service_name}/data'" >> "${service_path}/.env"
|
||||||
echo "#${service_name_cap}_DATA_REMOTE='\${REMOTE_APPS}/data'" >> "${service_path}/.env"
|
|
||||||
echo "#${service_name_cap}_DATA_LOCAL='\${LOCAL_APPS}/data'" >> "${service_path}/.env"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function create_compose() {
|
function create_compose() {
|
||||||
|
|||||||
8
services/wishlist/.env
Normal file
8
services/wishlist/.env
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# Dot Env for service wishlist created at Tue Nov 4 10:55:18 PM EET 2025
|
||||||
|
LOCAL_APPS='/home/vm-user/local-apps'
|
||||||
|
REMOTE_APPS='/home/vm-user/remote-apps'
|
||||||
|
#WISHLIST_CONFIG_REMOTE='${REMOTE_APPS}/config'
|
||||||
|
#WISHLIST_CONFIG_LOCAL='${LOCAL_APPS}/config'
|
||||||
|
WISHLIST_DATA_REMOTE='/home/vm-user/remote-apps/wishlist/data'
|
||||||
|
WISHLIST_DATA_LOCAL='/home/vm-user/local-apps/wishilst/data'
|
||||||
|
HOSTNAME="https://wishlist.davydovcloud.com"
|
||||||
13
services/wishlist/docker-compose.yml
Normal file
13
services/wishlist/docker-compose.yml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# Docker Compose for service wishlist created at Tue Nov 4 10:55:18 PM EET 2025
|
||||||
|
services:
|
||||||
|
wishlist:
|
||||||
|
container_name: wishlist
|
||||||
|
image: ghcr.io/cmintey/wishlist:latest
|
||||||
|
ports:
|
||||||
|
- ${SVC_PORT_1}:3280
|
||||||
|
volumes:
|
||||||
|
- ${WISHLIST_DATA_REMOTE}:/usr/src/app/uploads # This is where user image uploads will be stored
|
||||||
|
- ${WISHLIST_DATA_LOCAL}:/usr/src/app/data # This is where the sqlite database will be stored
|
||||||
|
environment:
|
||||||
|
ORIGIN: ${HOSTNAME} # The URL your users will be connecting to
|
||||||
|
TOKEN_TIME: 72 # hours until signup and password reset tokens expire
|
||||||
@ -2,7 +2,7 @@
|
|||||||
services:
|
services:
|
||||||
gluetun:
|
gluetun:
|
||||||
image: qmcgaw/gluetun
|
image: qmcgaw/gluetun
|
||||||
container_name: metube-gluetun
|
container_name: metube_vpn
|
||||||
cap_add:
|
cap_add:
|
||||||
- NET_ADMIN
|
- NET_ADMIN
|
||||||
devices:
|
devices:
|
||||||
@ -17,6 +17,7 @@ services:
|
|||||||
- WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY}
|
- WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY}
|
||||||
- WIREGUARD_ADDRESSES=${WIREGUARD_ADDRESSES}
|
- WIREGUARD_ADDRESSES=${WIREGUARD_ADDRESSES}
|
||||||
- SERVER_COUNTRIES=${SERVER_COUNTRIES}
|
- SERVER_COUNTRIES=${SERVER_COUNTRIES}
|
||||||
|
|
||||||
metube-tg-gui:
|
metube-tg-gui:
|
||||||
build:
|
build:
|
||||||
context: telegram-bot-fetcher
|
context: telegram-bot-fetcher
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user