diff --git a/app/db/migrations/versions/20faa9f18c0a_init.py b/app/db/migrations/versions/20faa9f18c0a_init.py
@@ -38,7 +38,7 @@ def upgrade() -> None:
)
op.bulk_insert(jwttable, [{"id": 1, "secret_key": os.urandom(32).hex()}])
- op.create_table('nodes',
+ nodestable = op.create_table('nodes',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('name', sa.String(length=256), nullable=True),
sa.Column('address', sa.String(length=256), nullable=True),
@@ -56,6 +56,7 @@ def upgrade() -> None:
sa.UniqueConstraint('name'),
sa.UniqueConstraint('address', 'port')
)
+ op.bulk_insert(nodestable, [{"name": "local", "address": "127.0.0.1", "port": 53042, "connection_backend": "grpcio", "status": "unhealthy"}])
op.create_table('services',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('name', sa.String(length=64), nullable=True),
diff --git a/docker-compose.yml b/docker-compose.yml
@@ -3,6 +3,20 @@ services:
image: dawsh/marzneshin:latest
restart: always
env_file: .env
- network_mode: host
volumes:
- /var/lib/marzneshin:/var/lib/marzneshin
+ ports:
+ - "8000:8000"
+
+ marznode:
+ image: dawsh/marznode:latest
+ restart: always
+ network_mode: host
+ environment:
+ SERVICE_ADDRESS: "127.0.0.1"
+ INSECURE: "True"
+ XRAY_EXECUTABLE_PATH: "/usr/local/bin/xray"
+ XRAY_ASSETS_PATH: "/usr/local/lib/xray"
+ XRAY_CONFIG_PATH: "/var/lib/marznode/xray_config.json"
+ volumes:
+ - /var/lib/marznode:/var/lib/marznode
diff --git a/script.sh b/script.sh
@@ -2,8 +2,10 @@
set -e
APP_NAME="marzneshin"
+NODE_NAME="marznode"
CONFIG_DIR="/etc/opt/$APP_NAME"
DATA_DIR="/var/lib/$APP_NAME"
+NODE_DATA_DIR="/var/lib/$NODE_NAME"
COMPOSE_FILE="$CONFIG_DIR/docker-compose.yml"
@@ -142,6 +144,10 @@ install_marzneshin() {
colorized_echo green "Marzneshin files downloaded successfully"
}
+install_marznode_xray_config() {
+ curl -sL "https://raw.githubusercontent.com/khodedawsh/marznode" -o "$NODE_DATA_DIR/xray_config.json"
+ colorized_echo green "Sample xray config downloaded for marznode"
+}
uninstall_marzneshin_script() {
if [ -f "/usr/local/bin/marzneshin" ]; then
@@ -177,6 +183,14 @@ uninstall_marzneshin_data_files() {
fi
}
+uninstall_marznode_data_files() {
+ if [ -d "$NODE_DATA_DIR" ]; then
+ colorized_echo yellow "Removing directory: $NODE_DATA_DIR"
+ rm -r "$NODE_DATA_DIR"
+ fi
+}
+
+
up_marzneshin() {
$COMPOSE -f $COMPOSE_FILE -p "$APP_NAME" up -d --remove-orphans
}
@@ -250,6 +264,7 @@ install_command() {
detect_compose
install_marzneshin_script
install_marzneshin
+ install_marznode_xray_config
up_marzneshin
follow_marzneshin_logs
}
@@ -276,11 +291,12 @@ uninstall_command() {
uninstall_marzneshin
uninstall_marzneshin_docker_images
- read -p "Do you want to remove Marzneshin's data files too ($DATA_DIR)? (y/n) "
+ read -p "Do you want to remove marzneshin & marznode data files too ($NODE_DATA_DIR, $DATA_DIR)? (y/n) "
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
colorized_echo green "Marzneshin uninstalled successfully"
else
uninstall_marzneshin_data_files
+ uninstall_marznode_data_files
colorized_echo green "Marzneshin uninstalled successfully"
fi
}