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
|
||||
hostname: portainer
|
||||
restart: unless-stopped
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 256M
|
||||
reservations:
|
||||
memory: 128M
|
||||
ports:
|
||||
- ${SVC_PORT_1}:9443
|
||||
volumes:
|
||||
|
||||
@ -40,6 +40,20 @@ services:
|
||||
<<: *vm-personal-100-16
|
||||
<<: *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
|
||||
# ================================
|
||||
@ -50,6 +64,20 @@ services:
|
||||
# <<: *vm-tools-100-52
|
||||
# <<: *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
|
||||
# ================================
|
||||
|
||||
@ -4,6 +4,8 @@
|
||||
set -euo pipefail
|
||||
|
||||
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() {
|
||||
local service_path="${1}"
|
||||
@ -12,12 +14,10 @@ function create_dotenv() {
|
||||
|
||||
printf "# Dot Env for service %s created at %s\n" \
|
||||
"${service_name}" "$(TZ=Europe/Helsinki date)" > "${service_path}/.env"
|
||||
echo "LOCAL_APPS='/home/vm-user/local-apps'" >> "${service_path}/.env"
|
||||
echo "REMOTE_APPS='/home/vm-user/remote-apps'" >> "${service_path}/.env"
|
||||
echo "#${service_name_cap}_CONFIG_REMOTE='\${REMOTE_APPS}/config'" >> "${service_path}/.env"
|
||||
echo "#${service_name_cap}_CONFIG_LOCAL='\${LOCAL_APPS}/config'" >> "${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"
|
||||
echo "#${service_name_cap}_CONFIG_REMOTE='${REMOTE_APPS}/${service_name}/config'" >> "${service_path}/.env"
|
||||
echo "#${service_name_cap}_CONFIG_LOCAL='${LOCAL_APPS}/${service_name}/config'" >> "${service_path}/.env"
|
||||
echo "#${service_name_cap}_DATA_REMOTE='${REMOTE_APPS}/${service_name}/data'" >> "${service_path}/.env"
|
||||
echo "#${service_name_cap}_DATA_LOCAL='${LOCAL_APPS}/${service_name}/data'" >> "${service_path}/.env"
|
||||
}
|
||||
|
||||
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:
|
||||
gluetun:
|
||||
image: qmcgaw/gluetun
|
||||
container_name: metube-gluetun
|
||||
container_name: metube_vpn
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
devices:
|
||||
@ -17,6 +17,7 @@ services:
|
||||
- WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY}
|
||||
- WIREGUARD_ADDRESSES=${WIREGUARD_ADDRESSES}
|
||||
- SERVER_COUNTRIES=${SERVER_COUNTRIES}
|
||||
|
||||
metube-tg-gui:
|
||||
build:
|
||||
context: telegram-bot-fetcher
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user