Skip to content

Feature new UI #231

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 169 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
169 commits
Select commit Hold shift + click to select a range
f8bac9e
feature: NextJS API support with JWT
dogukanoksuz Jun 2, 2023
8334e0b
feat-wip: Extension apis
dogukanoksuz Jun 7, 2023
086ef87
Merge branch 'master' into feature-new-ui
dogukanoksuz Jun 7, 2023
425a8b0
feature: New endpoints
dogukanoksuz Jun 12, 2023
3252b5d
feature: Users and extension settings
dogukanoksuz Jun 13, 2023
e7a7484
feature: Create server api
dogukanoksuz Jun 15, 2023
b2b8fca
feat-wip: Role controller
dogukanoksuz Jun 19, 2023
22671c7
Merge branch 'master' into feature-new-ui
dogukanoksuz Jun 20, 2023
30390a5
feature: New role api
dogukanoksuz Jun 20, 2023
2485d3e
feature: Golang service license support
dogukanoksuz Jun 21, 2023
e2343ef
fix: Default values on licensing model
dogukanoksuz Jun 23, 2023
48e2947
Merge branch '1.11.2-dev' into feature-new-ui
dogukanoksuz Jun 23, 2023
b2f7f1d
feature: Upgrade packages
dogukanoksuz Jun 23, 2023
fc15cad
feat-wip: Subscriptions
dogukanoksuz Jun 23, 2023
edf99cd
feature: Liman license
dogukanoksuz Jul 10, 2023
8af7754
feat-wip: LDAP connection inbuilt on Liman
dogukanoksuz Jul 12, 2023
a0ba919
feature: Refactored favorite servers
dogukanoksuz Jul 18, 2023
75adc46
feature: Settings > Access page api
dogukanoksuz Jul 18, 2023
a2f4ba7
feature: Export role list as CSV
dogukanoksuz Jul 18, 2023
6e07d7c
feature: Vault system
dogukanoksuz Jul 18, 2023
b6f372e
feature: Search and dashboard
dogukanoksuz Jul 19, 2023
b6ebf45
feature: Golang backend subscriptions tracker with caching
dogukanoksuz Jul 20, 2023
d7f2327
fix: Upload function doesn't return the TUS instance
dogukanoksuz Jul 20, 2023
a5c1fb6
feat-wip: Removed admin notifications system completely
dogukanoksuz Jul 21, 2023
99796db
chore: Removed market and server monitor
dogukanoksuz Jul 21, 2023
39b4ec1
feature: Removed hooks, old notification system and ticket system
dogukanoksuz Jul 21, 2023
327e0a5
feat-wip: Notifications system overhaul
dogukanoksuz Jul 21, 2023
83ae2b0
feature: Notification system overhaul
dogukanoksuz Jul 24, 2023
4bec27c
feature: External notifications overhaul
dogukanoksuz Jul 25, 2023
0be4490
feature: Changed codebase and added docs
dogukanoksuz Jul 26, 2023
cdfe32b
feature: Auth logs and profile page
dogukanoksuz Jul 27, 2023
4faa94f
feature: Extension rendering with different endpoints on next app
dogukanoksuz Jul 27, 2023
0006570
feature: LDAP and extension design page
dogukanoksuz Jul 31, 2023
68de2e7
feature: User information mails
dogukanoksuz Aug 1, 2023
5d0e7d7
feature: Removed cron mails system
dogukanoksuz Aug 1, 2023
5efd286
feature: Mail and dashboard controller
dogukanoksuz Aug 1, 2023
6ad7cdc
feature: DNS and certificate settings
dogukanoksuz Aug 2, 2023
7b0310f
test: New workflows
dogukanoksuz Aug 3, 2023
9519e06
fix: Remove telescope
dogukanoksuz Aug 3, 2023
62d6dec
feature: New way to build next application
dogukanoksuz Aug 3, 2023
18afb7d
fix: JWT secret and ui service
dogukanoksuz Aug 3, 2023
9d7934e
chore: Rebuild
dogukanoksuz Aug 3, 2023
573bbd8
fix: Remove wizard
dogukanoksuz Aug 4, 2023
ef10145
fix: Some bugfixes
dogukanoksuz Aug 4, 2023
d053fce
fix: Upload bug
dogukanoksuz Aug 5, 2023
ecbfcf8
feature: Log rotation creator
dogukanoksuz Aug 8, 2023
c6eff41
fix: Auth issues
dogukanoksuz Aug 9, 2023
df68418
fix: Upload problems on new user interface
dogukanoksuz Sep 11, 2023
39c1624
feature: Permission system on new ui
dogukanoksuz Sep 13, 2023
ae751da
feature: Added tweaks
dogukanoksuz Sep 14, 2023
3c482da
fix: Get request query handling
dogukanoksuz Sep 14, 2023
cc7d365
fix: LDAP class issue
dogukanoksuz Sep 14, 2023
95da8d8
feature: Deprecated TLSv1.1 and added TLSv1.3
dogukanoksuz Sep 14, 2023
c7769a5
fix: Added cipher list to nginx conf
dogukanoksuz Sep 14, 2023
ef6571b
fix: Nextjs chunk loading error
dogukanoksuz Sep 14, 2023
da1b24e
fix: Server error on access logs
dogukanoksuz Sep 15, 2023
f6d5127
feature: Health check page
dogukanoksuz Sep 22, 2023
36ba833
feature: Access token page
dogukanoksuz Sep 25, 2023
c1994bf
fix: Application freezing issues on mail sending
dogukanoksuz Sep 24, 2023
5a1c217
feature: Audit log base
dogukanoksuz Sep 28, 2023
2ac1fb5
fix: Enabled right click again on JSON iframes
dogukanoksuz Sep 28, 2023
a06b807
feature: Added audit logs on controller endpoints
dogukanoksuz Sep 28, 2023
7fdfdf2
feature: Remove excess records on auth and audit logs
dogukanoksuz Sep 28, 2023
ee84978
feature: Disabled unnecessary endpoints on old liman
dogukanoksuz Sep 28, 2023
99696cf
feature: Server edit and delete endpoints
dogukanoksuz Sep 28, 2023
dbcf5d4
feature: Server controller audit loggin
dogukanoksuz Sep 29, 2023
f3c9ee3
feature: Window location hash changes on iframed content
dogukanoksuz Oct 4, 2023
0324f90
fix: Connector issues and low fpm spawn rate
dogukanoksuz Oct 4, 2023
32d02bd
chore: Rebuild
dogukanoksuz Oct 9, 2023
488513f
fix: User and password operations
dogukanoksuz Oct 10, 2023
846aca6
fix: Memory information
dogukanoksuz Oct 10, 2023
ecd2961
fix: WinRM service status
dogukanoksuz Oct 11, 2023
5184064
feature: Code cleanup and removed old parts
dogukanoksuz Oct 9, 2023
962e5fc
chore: Regenerated docs
dogukanoksuz Oct 11, 2023
62ba8bb
feature: Limanctl health check
dogukanoksuz Oct 12, 2023
9f8ae4d
fix: Log rotation
dogukanoksuz Oct 12, 2023
cd03c38
feature: Disable access to 3001 port
dogukanoksuz Oct 12, 2023
4810cda
feature: Disabled 3000 port outside streaming
dogukanoksuz Oct 12, 2023
f6ba894
feat-wip: 2FA integration
dogukanoksuz Oct 13, 2023
d00a6ec
feature: Two factor authentication
dogukanoksuz Oct 16, 2023
680ddcf
revert: Liman UI hide 3000 port
dogukanoksuz Oct 16, 2023
08221e6
Merge pull request #227 from limanmys/next-2fa
dogukanoksuz Oct 16, 2023
af6c937
fix: Service count difference
dogukanoksuz Oct 18, 2023
ba75120
fix: User permissions
dogukanoksuz Oct 18, 2023
f4ed3d8
fix: Certificate import problem
dogukanoksuz Oct 18, 2023
06fed07
fix: LDAP login and role issues
dogukanoksuz Oct 19, 2023
c00f3de
feature: User editing controllers
dogukanoksuz Oct 19, 2023
cab40d8
feature: Password reset api
dogukanoksuz Oct 23, 2023
f73487a
fix: Forgot password endpoints middleware
dogukanoksuz Oct 24, 2023
3fd9dde
feature: LDAP auto credential fill for extensions
dogukanoksuz Oct 27, 2023
47244a8
chore: 2.0 RC1
dogukanoksuz Oct 28, 2023
21adb1e
fix: Detailed role list server error
dogukanoksuz Oct 30, 2023
e040987
fix: Mimetype check on extension upload
dogukanoksuz Oct 30, 2023
53678e0
fix: Palamar issues
dogukanoksuz Oct 30, 2023
f202475
fix: Subscription page controller issue
dogukanoksuz Oct 30, 2023
902d12b
fix: Search url
dogukanoksuz Nov 1, 2023
56d2e07
fix: Mail settings validation issue
dogukanoksuz Nov 1, 2023
54f04b1
fix: Unique check on access_tokens
dogukanoksuz Nov 1, 2023
0cb72cf
fix: Notification read issues
dogukanoksuz Nov 2, 2023
f7d716c
fix: Server sudoers setting page
dogukanoksuz Nov 2, 2023
cbb37ae
fix: Cannot delete user
dogukanoksuz Nov 6, 2023
7acfbd8
feature: Package install queue with microservice
dogukanoksuz Nov 7, 2023
fe86dd2
feature: WebRDP and cronjobs support
dogukanoksuz Nov 9, 2023
6ef47f5
fix: Internal sandbox functions
dogukanoksuz Nov 9, 2023
3e2c4ef
feature: Templated sandbox mails
dogukanoksuz Nov 13, 2023
88d62b9
fix: Removed extension is not unsigned error
dogukanoksuz Nov 13, 2023
2ff3bf9
feature: Added new observers to send notifications
dogukanoksuz Nov 13, 2023
6a2e723
fix: Templated emails on sandbox
zekiahmetbayar Nov 14, 2023
35e66cc
fix: Send mail request handling
zekiahmetbayar Nov 14, 2023
9616a4a
chore: Bump to RC2 for frontend fixes
dogukanoksuz Nov 14, 2023
c094bea
fix: Add missing column on queue table
dogukanoksuz Nov 21, 2023
a430eff
fix: Memory error on details
dogukanoksuz Nov 30, 2023
f98503a
chore: Rebuild
dogukanoksuz Dec 7, 2023
5d29eed
feature: Sandbox licensing support
dogukanoksuz Dec 7, 2023
c54e17a
fix: Disabled services disappears on service list
dogukanoksuz Dec 8, 2023
8931e9e
fix: On some circumstances DB_PASS gets changed unexpectedly
dogukanoksuz Dec 8, 2023
1fb8bb8
fix: CPU percentages
dogukanoksuz Dec 11, 2023
c86658f
fix: Queue errors
dogukanoksuz Dec 11, 2023
b11ab28
fix: Legacy extension functions
dogukanoksuz Dec 12, 2023
22ba0db
fix: Extension settings page redirection issue
dogukanoksuz Dec 12, 2023
c2b841d
feature: SSH key usage on tunnels
dogukanoksuz Dec 18, 2023
96c121b
fix: Log rotation issues
dogukanoksuz Dec 19, 2023
38dac2c
feature: Multilingual support on extension name
dogukanoksuz Dec 19, 2023
ba08bf0
chore: Rebuild
dogukanoksuz Dec 19, 2023
14cc628
fix: Extension install issue
dogukanoksuz Dec 25, 2023
cdcd0ee
feature: Docker auto image build
dogukanoksuz Dec 26, 2023
dfc0b68
fix: Version file path in docker-publish workflow
dogukanoksuz Dec 26, 2023
b551238
test: Workflow fix
dogukanoksuz Dec 26, 2023
0a87fb8
fix: Version issue on workflows
dogukanoksuz Dec 26, 2023
5389c33
fix: RELEASE_RUNNUMBER calculation in docker-publish workflow
dogukanoksuz Dec 26, 2023
4d9b4a9
chore: Rebuild
dogukanoksuz Dec 27, 2023
2c42769
fix: display name formatting in Extension model
dogukanoksuz Dec 28, 2023
a8956f3
fix: Unicode character error
dogukanoksuz Jan 2, 2024
7beff02
fix: mail parameter type conversion in ExternalNotificationController
dogukanoksuz Jan 4, 2024
397e72c
fix: Push notifications localization issue
dogukanoksuz Jan 5, 2024
c43d0d1
feature: Role checking on extension menus
dogukanoksuz Jan 8, 2024
0acb082
fix: Docker workflow caching infinitely
dogukanoksuz Jan 8, 2024
fe4499f
chore: Bump version
dogukanoksuz Jan 8, 2024
d6959c5
feature: Detailed extension update logs
dogukanoksuz Jan 11, 2024
15ba696
fix: Fresh extension install
dogukanoksuz Jan 12, 2024
05c9466
fix: Changed ip address field from inet to varchar
dogukanoksuz Jan 16, 2024
4fcf826
fix: Remove subnets on converted ip addresses
dogukanoksuz Jan 16, 2024
2b7d8ca
feature: Extension and server name support on titles
dogukanoksuz Jan 18, 2024
c4a1124
fix: Bugs
dogukanoksuz Jan 26, 2024
7972baa
feature: LDAP custom username password support
dogukanoksuz Jan 26, 2024
8248e28
fix: User deletion issue fk error
dogukanoksuz Jan 26, 2024
b39ef75
feature: Editable shared key option
dogukanoksuz Jan 26, 2024
8bb46c3
feature: Secure JWT token and cookies system
dogukanoksuz Jan 29, 2024
aa7564e
feat: League CSV dependency and update
dogukanoksuz Jan 30, 2024
fc35b65
fix: encryption bug in User.php
dogukanoksuz Feb 1, 2024
dcd46e4
chore: Rebuild for UI fixes
dogukanoksuz Feb 1, 2024
579f6bf
feature: Detailed error handling
dogukanoksuz Feb 9, 2024
b19c2a6
fix: Update jstree library
dogukanoksuz Feb 16, 2024
fd351bd
fix: Remove unnecessary server.php
dogukanoksuz Feb 16, 2024
6a2be2e
fix: Removed extension_templates
dogukanoksuz Feb 16, 2024
e961be4
chore: Update packages
dogukanoksuz Feb 16, 2024
76faf00
fix: Login throttle
dogukanoksuz Feb 16, 2024
8e2fd71
fix: Queue file handler format control
dogukanoksuz Feb 16, 2024
41170c6
fix: Update moment.js
dogukanoksuz Feb 16, 2024
bd7f59a
fix: Nginx settings
dogukanoksuz Feb 19, 2024
4333ca8
fix: Workflows
dogukanoksuz Feb 19, 2024
c9e5da9
revert: Workflows
dogukanoksuz Feb 19, 2024
7aee362
fix: Subscriptions page
dogukanoksuz Feb 19, 2024
2b76f41
chore: Add extension list on README.md
dogukanoksuz Feb 20, 2024
5e50ed5
fix: Add rate limiting for login and forgot password routes
dogukanoksuz Feb 21, 2024
760cd85
fix: Subscription page license posting
dogukanoksuz Feb 22, 2024
463313d
fix: Token logout issues
dogukanoksuz Feb 22, 2024
c31e38b
fix: Extension uploads
dogukanoksuz Feb 23, 2024
53f6ff5
fix: Extension search param support
dogukanoksuz Feb 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 2 additions & 7 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,6 @@ BRAND_NAME="HAVELSAN © 2023"
# Extension request timeout parameter, Liman render engine using it
EXTENSION_TIMEOUT=30

# WIZARD STEP
# Don't change it if you don't know what you doing.
# Values: 1 (Start), 4 (Finish)
WIZARD_STEP=1

# BRANDING ON LOGIN SCREEN
# You can set it from Liman system settings.
# Values: <image url>
Expand Down Expand Up @@ -95,11 +90,11 @@ MAIL_MAILER=smtp

# MAIL HOST
# Mail server
MAIL_HOST=smtp.mailtrap.io
MAIL_HOST=0.0.0.0

# MAIL PORT
# Mail server port
MAIL_PORT=2525
MAIL_PORT=1025

# MAIL USERNAME
# The user that exists on mail server
Expand Down
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@
*.css linguist-vendored
*.scss linguist-vendored
*.js linguist-vendored
*.blade.php linguist-vendored
*.sh linguist-vendored
CHANGELOG.md export-ignore
64 changes: 64 additions & 0 deletions .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Docker
on: [push]

env:
# Use docker.io for Docker Hub if empty
REGISTRY: docker.io
# github.repository as <account>/<repo>
IMAGE_NAME: aciklab/liman

jobs:
build:

runs-on: ubuntu-latest
permissions:
contents: read
packages: write
# This is used to complete the identity challenge
# with sigstore/fulcio when running outside of PRs.
id-token: write

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Get version details
run: |
VERSION=`cat storage/VERSION`
echo "RELEASE_VER=$(echo $VERSION)" >> $GITHUB_ENV
echo "RELEASE_RUNNUMBER=$(($GITHUB_RUN_NUMBER+874))" >> $GITHUB_ENV

# Set up BuildKit Docker container builder to be able to build
# multi-platform images and export cache
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0

# Login against a Docker registry except on PR
# https://github.com/docker/login-action
- name: Log into registry docker.io
if: github.event_name != 'pull_request'
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

# Extract metadata (tags, labels) for Docker
# https://github.com/docker/metadata-action
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934 # v5.0.0
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}

# Build and push Docker image with Buildx (don't push on PR)
# https://github.com/docker/build-push-action
- name: Build and push Docker image
id: build-and-push
uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v5.0.0
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.RELEASE_VER }}-${{ env.RELEASE_RUNNUMBER }}, ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
labels: ${{ steps.meta.outputs.labels }}
15 changes: 13 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: CI
name: Liman CI
on: [push]

jobs:
Expand All @@ -15,6 +15,17 @@ jobs:
php-version: "8.1"
tools: composer
extensions: ssh2, curl, sqlite3, ldap, mbstring, xml, zip, posix, smbclient, gd

- name: Restore the Composer cache directory
id: composercache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"

- uses: actions/cache@v3
with:
path: ${{ steps.composercache.outputs.dir }}
key: ${{ runner.os }}-'8.1'-composer-${{ hashFiles('**/composer.json') }}
restore-keys: ${{ runner.os }}-'8.1'-composer-

- name: Build Liman Package
env:
PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }}
Expand Down Expand Up @@ -59,4 +70,4 @@ jobs:
${{ env.RELEASE_RPMFILENAME }}
name: "Release ${{ env.RELEASE_VER }} - ${{ env.RELEASE_RUNNUMBER }}"
tag_name: "release.${{ env.LIMAN_BRANCH }}.${{ env.RELEASE_RUNNUMBER }}"
prerelease: ${{ env.PRERELEASE }}
prerelease: ${{ env.PRERELEASE }}
3 changes: 0 additions & 3 deletions .gitmodules

This file was deleted.

104 changes: 104 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
# LIMAN DOCKERFILE
# AUTHOR: Doğukan Öksüz <[email protected]>

FROM ubuntu:jammy
EXPOSE 80 443

# DEPENDENCIES
RUN echo LIMAN.HAVELSAN.COM.TR
RUN export DEBIAN_FRONTEND=noninteractive;
ARG DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
ENV TZ=Europe/Istanbul
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN apt -yqq update
RUN DEBIAN_FRONTEND=noninteractive apt -yqq install software-properties-common gnupg2 ca-certificates wget curl
RUN add-apt-repository --yes ppa:ondrej/php
RUN mkdir -p /etc/apt/keyrings
RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
RUN echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
RUN apt -yqq update

# LIMAN DEPS
RUN DEBIAN_FRONTEND=noninteractive apt -yqq install sudo nodejs gpg zip unzip nginx sysstat php8.1-redis php8.1-fpm php8.1-gd php8.1-curl php8.1 php8.1-sqlite3 php8.1-snmp php8.1-mbstring php8.1-xml php8.1-zip php8.1-posix libnginx-mod-http-headers-more-filter libssl3 supervisor php8.1-pgsql pgloader php8.1-bcmath rsync dnsutils php8.1-ldap php8.1-smbclient krb5-user php8.1-ssh2 smbclient novnc

# FILES
RUN bash -c 'mkdir -p /liman_files/{server,certs,logs,database,sandbox,keys,extensions,modules,packages,ui}'

# UI
RUN curl -s https://api.github.com/repos/limanmys/next/releases/latest | grep "browser_download_url.*zip" | cut -d : -f 2,3 | tr -d \" | wget -qi -
RUN unzip ui*.zip -d ui
RUN mv ui /liman_files/

# CORE
RUN wget "https://github.com/limanmys/core/archive/refs/heads/feature-new-ui.zip" -O "core.zip"
RUN unzip -qq core.zip
RUN mv core-feature-new-ui/* /liman_files/server
RUN mv core-feature-new-ui/.env.example /liman_files/server
RUN rm -rf core.zip

# PHP SANDBOX
RUN wget "https://github.com/limanmys/php-sandbox/archive/refs/heads/master.zip" -O "sandbox.zip"
RUN unzip -qq sandbox.zip
RUN mkdir -p /liman_files/sandbox/php
RUN mv php-sandbox-master/* /liman_files/sandbox/php/
RUN rm -rf sandbox.zip php-sandbox-master

# EXT TEMPLATES
RUN wget "https://github.com/limanmys/extension_templates/archive/master.zip" -O "extension_templates.zip"
RUN unzip -qq extension_templates.zip
RUN mkdir -p /liman_files/server/storage/extension_templates
RUN mv extension_templates-master/* /liman_files/server/storage/extension_templates
RUN rm -rf extension_templates.zip extension_templates-master

# RENDER ENGINE
RUN curl -s https://api.github.com/repos/limanmys/fiber-render-engine/releases/latest | grep "browser_download_url.*zip" | cut -d : -f 2,3 | tr -d \" | wget -qi -
RUN unzip liman_render*.zip
RUN mv liman_render /liman_files/server/storage/liman_render

# COMPOSER
RUN curl -sS https://getcomposer.org/installer -o composer-setup.php
RUN php composer-setup.php --install-dir=/usr/local/bin --filename=composer
RUN rm -rf composer-setup.php

RUN composer install --no-dev --no-scripts -d /liman_files/server
RUN composer install --no-dev -d /liman_files/sandbox/php

# USERS
RUN groupadd -g 2800 liman
RUN useradd liman -u 2801 -g 2800 -m
RUN useradd extuser -u 2802 -g 2800 -m

# PERMS
RUN cp -f /liman_files/server/storage/limanctl /usr/bin/limanctl

# VNC SETTINGS
RUN rm -rf /liman_files/keys/vnc
RUN mkdir /liman_files/keys/vnc
RUN chmod 700 /liman_files/keys/vnc
RUN touch /liman_files/keys/vnc/config
RUN chown liman:liman /liman_files/keys/vnc /liman_files/keys/vnc/config
RUN chmod 700 /liman_files/keys/vnc/config

# SETTINGS
RUN sed -i "s/www-data/liman/g" /etc/php/8.1/fpm/pool.d/www.conf
RUN sed -i "s/www-data/liman/g" /etc/nginx/nginx.conf
COPY storage/build_tools/docker/config/nginx_default /etc/nginx/sites-available/default
COPY storage/build_tools/docker/config/nginx.conf /etc/nginx/sites-available/liman.conf
RUN ln -s /etc/nginx/sites-available/liman.conf /etc/nginx/sites-enabled/liman.conf

# SERVICES
RUN mkdir /run/php
COPY storage/build_tools/docker/config/supervisor.conf /etc/supervisor/supervisor.conf
COPY storage/build_tools/docker/config/supervisor /etc/supervisor/conf.d

# START LIMAN
COPY storage/build_tools/docker/init.sh /tmp/init.sh
RUN ["chmod", "755", "/tmp/init.sh"]
RUN ["chmod", "+x", "/tmp/init.sh"]

# FREE UP SPACE
RUN apt clean -yqq
RUN apt autoclean -yqq

ENTRYPOINT ["/tmp/init.sh"]
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
30 changes: 20 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Liman Core
# Liman

Liman Core allows you to centrally manage all servers in your IT processes remotely, with stable and secure way. You can improve the features with expandable extensions and modules.
Liman allows you to centrally manage all servers, clients and network devices in your IT processes remotely, with stable and secure way. You can improve the features with expandable extensions and modules.

More information on the Liman [website](https://liman.dev).
More information on the Liman [website](https://liman.havelsan.com.tr).

## What is Liman?

Expand All @@ -13,23 +13,33 @@ As an open source version of Liman, it meets your basic needs for server managem
* User and Role Management
* Web based management

## Open Source Extensions

* Inventory (This open-source tool allows you to scan your network to discover connected devices and find their packages. It also provides statistical data for your devices on the network.)
Download: [Extension](https://github.com/limanmys/liman-inventory) [Server](https://github.com/limanmys/inventory-server)

## Enterprise Extensions

* [Device Manager](https://liman.havelsan.com.tr/extensions/device-manager) (Manages Win/Linux servers and clients with our Agent)
* [Network Monitor](https://liman.havelsan.com.tr/extensions/network-monitor)
* [Network Explorer](https://liman.havelsan.com.tr/extensions/network-explorer) (Explores all devices on your network using switches and custom sensor agents)
* Netconf Utility (Monitors switch interfaces and let you configure network devices)
* [Domain Manager](https://liman.havelsan.com.tr/extensions/domain-manager)

## Install

Liman is packaged as DEB in Aciklab repository. Therefore, it supports Debian, Pardus and Ubuntu.
Liman is packaged as DEB in Aciklab repository. Therefore, it supports Debian and RHEL based distributions.
You can find the [installation documentation](https://docs.liman.dev/start/installing) for your Linux distribution.

## Authors

Liman Core started to be developed by the [Aciklab](https://aciklab.org) group in HAVELSAN and continues to be developed. Thanks to everyone who contributed.
Liman started to be developed by the [Aciklab](https://aciklab.org) group in HAVELSAN and continues to be developed. Thanks to everyone who contributed.

Liman Core is sponsored by [HAVELSAN](https://havelsan.com.tr/en).
Liman is sponsored by [HAVELSAN](https://havelsan.com.tr/en).

## License

MIT License

See [LICENSE](https://github.com/limanmys/core/blob/master/LICENSE) the full text.

### Development

From Liman Core 1.11.1 version, we are using PNPM as package manager. Due to Laravel limitations, you should install packages with this command: `pnpm install --shamefully-hoist`
See [LICENSE](https://github.com/limanmys/core/blob/master/LICENSE) the full text.
7 changes: 0 additions & 7 deletions apidoc.json

This file was deleted.

36 changes: 36 additions & 0 deletions app/Casts/Jsonb.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?php

namespace App\Casts;

use Illuminate\Contracts\Database\Eloquent\CastsAttributes;

class Jsonb implements CastsAttributes
{
/**
* Cast the given value.
*
* @param \Illuminate\Database\Eloquent\Model $model
* @param string $key
* @param mixed $value
* @param array $attributes
* @return array
*/
public function get($model, $key, $value, $attributes)
{
return json_decode($value, true);
}

/**
* Prepare the given value for storage.
*
* @param \Illuminate\Database\Eloquent\Model $model
* @param string $key
* @param array $value
* @param array $attributes
* @return string
*/
public function set($model, $key, $value, $attributes)
{
return json_encode($value);
}
}
Loading