Giter Site home page Giter Site logo

websoft9 / websoft9 Goto Github PK

View Code? Open in Web Editor NEW
610.0 71.0 102.0 62.41 MB

Websoft9 is web-based PaaS/Linux Panel for running open source

Home Page: https://www.websoft9.com

License: Other

Shell 42.31% Python 54.00% HTML 0.20% Dockerfile 1.79% Go 1.70%
cockpit-project docker docker-compose paas portainer appstore linux-gui marketplace opensource panel

websoft9's Introduction

License: GPL v3 GitHub last commit GitHub Release Date GitHub Repo stars

What is Websoft9?

Websoft9 is web-based PaaS/Linux Panel for running 200+ hot open source application on your own server.

Websoft9 help you running multiple applications in a single server, that means we believe Microservices on single machine is reasonable. On the contrary, it becomes more and more valuable as computing power increases

Although the Cloud Native emphasizes high availability and clustering, but most of the time, applications do not need to implement complex clusters or K8S.

Websoft9's architecture is simple, it did not create any new technology stack, and we fully utilize popular technology components to achieve our product goals, allowing users and developers to participate in our projects without the need to learn new technologies.

Demos

You can see the sceenshoots below:

image image image
image image image

Below is demo server, please give stars if you like it:

Demo URL: http://t.demo.goweb.cc:9000/
user: demo
password: websoft9

Features

  • Applications listing
  • Install 200+ template applications without any configuration
  • Web-based file browser to manage files and folder
  • Docker Compose GUI
  • Manage user accounts
  • Use a terminal on a remote server in your local web browser
  • Nginx gui for proxy and free SSL with Let's Encrypt
  • Deploy, configure, troubleshoot and secure containers in minutes on Kubernetes, Docker, and Swarm in any data center, cloud, network edge or IIOT device.
  • Manage your Linux by GUI: Inspect and change network settings, Configure a firewall, Manage storage, Browse and search system logs, Inspect a system’s hardware, Inspect and interact with systemd-based services,
  • Supported languages: English, Chinese(中文)

Installation

Need root privileges user to install Websoft9, if you use no-root user you can sudo su for it

Install & Upgrade

# Install by default
wget -O install.sh https://websoft9.github.io/websoft9/install/install.sh && bash install.sh


# Install Websoft9 with parameters
wget -O install.sh https://websoft9.github.io/websoft9/install/install.sh && bash install.sh --port 9000 --channel release --path "/data/websoft9/source" --version "latest"

After installation, access it by: http://Internet IP:9000 and using Linux user for login

Uninstall

# Uninstall by default
curl https://websoft9.github.io/websoft9/install/uninstall.sh | bash

# Uninstall all
wget -O - https://websoft9.github.io/websoft9/install/uninstall.sh | bash /dev/stdin --cockpit --files

Contributing

Follow the contributing guidelines if you want to propose a change in the Websoft9 core. For more information about participating in the community and contributing to the Websoft9 project, see this page.

License

Websoft9 is licensed under the LGPL-3.0, and additional Terms: It is not allowed to publish free or paid image based on this repository in any Cloud platform's Marketplace without authorization

websoft9's People

Contributors

chendelin1982 avatar fatelei avatar laozhou0731 avatar qiaofeng1227 avatar tooy1011 avatar xyt52 avatar zhaojing1987 avatar zl-go avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

websoft9's Issues

路径约定

What type of your feature request?

  • 软件统一放到 /opt/websoft9
  • 增加文档目录 //opt/websoft9/document

role_init

What type of your feature request?

  • optimize password.txt
  • create init.sh autonomous drive

list multiply version for business and image

activemq

  • ActiveMQ CLASSIC
  • ActiveMQ ARTEMIS

bt

  • aapanel
  • btpanel

erpnext

  • v14
  • v13
  • v12

haproxy

  • 2.6
  • 2.5
  • 2.4
  • 2.3
  • 2.2
  • 2.0
  • 1.8

kafka(ansible是小版本)

  • 3.2
  • 3.2
  • 3.0
  • 2.8
  • 2.7
  • 2.6
  • 2.5
  • 2.4
  • 2.3
  • 2.2
  • 2.1
  • 2.0
  • 1.1
  • 1.0
  • 0.1

mariadb

  • 10.8
  • 10.7
  • 10.6
  • 10.5
  • 10.4
  • 10.3
  • 10.2
  • 10.1

mongodb

  • 5.0
  • 4.4
  • 4.2
  • 4.0
  • 3.7
  • 3.6
  • 3.5
  • 3.4
  • 3.3
  • 3.2
  • 3.0

mysql

  • 8.0
  • 5.7
  • 5.6
  • 5.5

neo4j

  • 4.4
  • 4.3
  • 4.2
  • 4.1
  • 4.0
  • 3.5
  • 3.4

oracle

enterprise

  • 21
  • 19
  • 12

express

  • 21
  • 18

postgresql

  • 14
  • 13
  • 12
  • 11
  • 10
  • 9.6
  • 9.5
  • 9.4
  • 9.3
  • 9.2
  • 9.1

gitlab

  • gitlab ee
  • gitlab ce

rabbitmq

  • 3.10
  • 3.9
  • 3.8
  • 3.7
  • 3.6

redis

  • 7.0
  • 6.2
  • 6.0
  • 5.0
  • 4.0
  • 3.2
  • 3.0
  • 2.8

sqlserver

  • 2022
  • 2019
  • 2017

zabbix

  • 6.0
  • 5.4
  • 5.2
  • 5.0
  • 4.0
  • 3.0

automation code review

  1. search a tool to check the ansible grammar errors
  2. add the template with websoft9 coding rule(e.g. The first letter should be capitalize in comment)

Linux user manage On python program

Environmental requirements: Python 3.6+
Main functions:

  1. add user with random password, the user has sudo authority and user can't reset password by passwd
  2. delete user with all of the user info(authority)
  3. python3 config_user.py,like this:
    [root@iZj6c46sxkb44piei7ekgkZ mcloud]# python3 config_azure.py
    
        Select what you will do to the user:  
    
         0.add user
         1.delete user
             2.reset password
    
        if 0  Input your username:  
        if 1/2  List all user with password, which user do you want to operate?: 
                  0. xuwei
                  1. lixi
                  2. haibo
             
            Are you sure?(Y/N)  
    
            Result feedback
    
    

Check pre.yml exists is not useful on mcloud

change local path to remote path

   - name: Excute Preparation if have pre.yml
      block:
        - name: Check if pre.yml exists
          stat:
            path: roles/{{appname}}/tasks/pre.yml
          register: pre_exists
    - name: Excute Preparation if have pre.yml
      block:
        - name: Check if pre.yml exists
          uri:
            url: "https://github.com/Websoft9/StackHub/blob/main/apps/roles/{{appname}}/tasks/pre.yml"
            return_content: yes
          register: pre_exists
          failed_when: false
          
        - name: Excute pre.yml
          include_role:
            name: "{{appname}}"
            tasks_from: "pre"
          when: pre_exists.status is defined and pre_exists.status == 200

Support ARM

  1. docker installation
  2. mcloud selection and add arm image
  3. role_common

Amazon Linux install GNOME Desktop Request python-2.x-dependent

Describe the bug

A clear and concise description of what the bug is.

Deployment method

  • subscription image from MarketPlace of Cloud
  • All-in-one Installer
  • ansible-playbook cli
  • mcloud
  • create instance from private image

Bug source

  • Bugs from installation
  • Bugs from first use
  • Other (You should describe it)

System Environment

Application Version

e.g v4.5

OS

  • Ubuntu18.x
  • Ubuntu20.x
  • CentOS7.x
  • CentOS8.x
  • AmazonLinux2
  • OracleLinux7.8
  • OracleLinux8.2
  • Other (You should describe it)

Cloud PlatForm

  • Azure
  • Aws
  • 阿里云
  • 腾讯云
  • 华为云
  • AlibabaCloud
  • HUWEICloud
  • Other (You should describe it)

Bug reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Bug reports

Bug Context

Error: Package: vdo-6.1.3.23-5.el7.x86_64 (base)
           Requires: /usr/libexec/platform-python
           Available: python-2.7.5-89.el7.x86_64 (base)
               Not found
           Available: python-2.7.5-90.el7.x86_64 (updates)
               Not found
           Installed: python-2.7.18-1.amzn2.0.4.x86_64 (@amzn2-core)
               Not found
           Available: python-2.7.5-58.amzn2.x86_64 (amzn2-core)
               Not found
           Available: python-2.7.14-58.amzn2.0.2.x86_64 (amzn2-core)
               Not found
           Available: python-2.7.14-58.amzn2.0.3.x86_64 (amzn2-core)
               Not found
           Available: python-2.7.14-58.amzn2.0.4.x86_64 (amzn2-core)
               Not found
           Available: python-2.7.16-1.amzn2.0.1.x86_64 (amzn2-core)
               Not found
           Available: python-2.7.16-2.amzn2.0.1.x86_64 (amzn2-core)
               Not found
           Available: python-2.7.16-3.amzn2.0.1.x86_64 (amzn2-core)
               Not found
           Available: python-2.7.16-4.amzn2.x86_64 (amzn2-core)
               Not found
           Available: python-2.7.16-5.amzn2.x86_64 (amzn2-core)
               Not found
           Available: python-2.7.18-1.amzn2.x86_64 (amzn2-core)
               Not found
           Available: python-2.7.18-1.amzn2.0.1.x86_64 (amzn2-core)
               Not found
           Available: python-2.7.18-1.amzn2.0.2.x86_64 (amzn2-core)
               Not found
           Available: python-2.7.18-1.amzn2.0.3.x86_64 (amzn2-core)
               Not found
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
[ec2-user@ip-172-31-44-137 ~]$ yum update 
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
You need to be root to perform this command.

Bug Screenshot

Linux-GNOME

Your suggestion

The reason of Bug

You can describe the reason if you have found it

Your solution for Bug

You can describe your solution here

Additional context

You can add any other context about the problem here.

apex container start fail

CONTAINER ID   IMAGE                                                   COMMAND                  CREATED             STATUS                           PORTS                                                                                  NAMES
db63784d112e   container-registry.oracle.com/database/ords:latest      "/bin/bash -c 'echo …"   About an hour ago   Restarting (127) 9 seconds ago                                                                                          apex
10195e0376ef   container-registry.oracle.com/database/express:latest   "/bin/sh -c 'exec $O…"   About an hour ago   Up About an hour (healthy)       0.0.0.0:1521->1521/tcp, :::1521->1521/tcp, 0.0.0.0:5500->5500/tcp, :::5500->5500/tcp   apex-db

[root@iZj6c96rqsof0q5bwc62b1Z apex]# docker logs apex
bash: /opt/oracle/ords/startService.sh: No such file or directory

``

Ansible runtime by container

  1. It is inconvenient for an ansible to execute a role or other specific set of tasks. It is expected to build an ansible runtime by starting the container
  2. User Dockerfile

prestashop start fail

[root@iZj6ca39dzz8b7jeo9wfx4Z docker-prestashop]# docker logs prestashop
* Another setup is currently running...

* Checking if mysql is available...

* DB server mysql is available, let's continue !

* Another setup is currently running...
[root@iZj6ca39dzz8b7jeo9wfx4Z docker-prestashop]# docker logs prestashop

[root@iZj6ca39dzz8b7jeo9wfx4Z docker-prestashop]# docker ps
CONTAINER ID   IMAGE                          COMMAND                  CREATED              STATUS                                   PORTS                                                  NAMES
63027c30c439   prestashop/prestashop:latest   "docker-php-entrypoi…"   About a minute ago   Restarting (42) Less than a second ago                                                          prestashop
ee58fa1cc3dd   mysql:5.7                      "docker-entrypoint.s…"   About a minute ago   Up About a minute                        0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   prestashop-db

docker ps format

[root@iZj6c46sxkb44piei7ekgkZ mcloud]# docker ps  --format '{{ json . }}' | jq -s 'map({name:.Names,status:.Status})'
[
  {
    "name": "tinyproxy",
    "status": "Up 5 weeks"
  },
  {
    "name": "runtime_u",
    "status": "Up 5 months"
  },
  {
    "name": "runtime",
    "status": "Up 6 months"
  }
]

ubuntu install docker error

TASK [role_common : Add permanently alias for docker compose] ****************************************************************************************************************************************************************************************************************
fatal: [47.242.123.18]: FAILED! => {"changed": true, "cmd": "alias docker-compose='docker compose'\necho \"alias docker-compose='docker compose'\" >> /etc/profile.d/docker-compose.sh\nsource /etc/profile.d/docker-compose.sh\n", "delta": "0:00:00.003830", "end": "2022-07-19 08:34:37.700439", "msg": "non-zero return code", "rc": 127, "start": "2022-07-19 08:34:37.696609", "stderr": "/bin/sh: 3: source: not found", "stderr_lines": ["/bin/sh: 3: source: not found"], "stdout": "", "stdout_lines": []}

PLAY RECAP *******************************************************************************************************************************************************************************************************************************************************************
47.242.123.1

The list page of application

What type of your feature request?

  • list page of application

image

All Status: running, stopped, exited

For test

# list all applications
docker compose ls -a --format json

# list all running applications
docker compose ls --format json

# stop, start, restart application
docker-compose --project-name application start
docker-compose --project-name application stop
docker-compose --project-name application restart

# logs
docker compose --project-name application  logs  --since 500m

# list all containers belong to one application
docker compose --project-name application ps  --format json

# check the details of on container
docker inspect container_name
  • stackhub list cli

all in install can't run[template]

Describe the bug

A clear and concise description of what the bug is.

Deployment method

  • subscription image from MarketPlace of Cloud
  • All-in-one Installer
  • ansible-playbook cli
  • mcloud
  • create instance from private image

Bug source

  • Bugs from installation
  • Bugs from first use
  • Other (You should describe it)

System Environment

Application Version

e.g v4.5

OS

  • Ubuntu18.x
  • Ubuntu20.x
  • CentOS7.x
  • CentOS8.x
  • AmazonLinux2
  • OracleLinux7.8
  • OracleLinux8.2
  • Other (You should describe it)

Cloud PlatForm

  • Azure
  • Aws
  • 阿里云
  • 腾讯云
  • 华为云
  • AlibabaCloud
  • HUWEICloud
  • Other (You should describe it)

Bug reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Bug reports

Bug Context

Bug context includes bug error, error logs and service status, it is very important for resolving issue

# bug error

service status

(paste here)

error logs

(paste here)

ubuntu@ip-172-31-47-170:~$ sudo wget -N https://raw.githubusercontent.com/Websoft9/docker-template/main/docker-installer.sh; sudo bash docker-installer.sh -r graylog
--2021-05-25 06:42:28--  https://raw.githubusercontent.com/Websoft9/docker-template/main/docker-installer.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.111.133, 185.199.110.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 16891 (16K) [text/plain]
Saving to: ‘docker-installer.sh’

docker-installer.sh                                      100%[==================================================================================================================================>]  16.50K  --.-KB/s    in 0s      

Last-modified header missing -- time-stamps turned off.
2021-05-25 06:42:28 (89.9 MB/s) - ‘docker-installer.sh’ saved [16891/16891]

The repo does not exist !

Bug Screenshot

paste screenshot here

Your suggestion

The reason of Bug

You can describe the reason if you have found it

Your solution for Bug

You can describe your solution here

Additional context

You can add any other context about the problem here.

task [ Check chrony status] failed!

linux with GNOME / Xfce on Ubuntu 20.04 on AWS

TASK [role_os : Check chrony status] *******************************************
fatal: [54.157.211.208]: FAILED! => {"changed": true, "cmd": "systemctl restart chronyd", "delta": "0:00:00.019310", "end": "2022-04-13 08:21:42.561580", "msg": "non-zero return code", "rc": 5, "start": "2022-04-13 08:21:42.542270", "stderr": "Failed to restart chronyd.service: Unit chronyd.service not found.", "stderr_lines": ["Failed to restart chronyd.service: Unit chronyd.service not found."], "stdout": "", "stdout_lines": []}

WP~_TW5%6PYDG3ZJJTLFYR9

onlyoffice can't start

[root@iZj6caa0e3yg1pwkfbzl77Z onlyoffice]# docker logs onlyoffice
[  OK  ] Started FastCGI Mono server.
[FAILED] Failed to start Elasticsearch.
See 'systemctl status elasticsearch.service' for details.
         Starting Start ONLYOFFICE Index Service...
[  OK  ] Started Start ONLYOFFICE Index Service.
[FAILED] Failed to start ONLYOFFICE MailAggregator Service.
See 'systemctl status onlyofficeMailAggregator.service' for details.
[  OK  ] Reached target Multi-User System.
[  OK  ] Reached target Graphical Interface.

Repalace env with value when vars floor >= 3

{"timestamp":"2022-07-20 09:21:03.054 Z","level":"info","msg":"Pinging SQL","caller":"sqlstore/store.go:228","database":"master"}
{"timestamp":"2022-07-20 09:21:03.058 Z","level":"fatal","msg":"Failed to ping DB, server will exit.","caller":"sqlstore/store.go:236","error":"pq: password authentication failed for user \"mattermost\""}
{"timestamp":"2022-07-20 09:21:03.893 Z","level":"info","msg":"Server is initializing...","caller":"app/server.go:264","go_version":"go1.18.1"}
{"timestamp":"2022-07-20 09:21:03.893 Z","level":"info","msg":"Pinging SQL","caller":"sqlstore/store.go:228","database":"master"}
{"timestamp":"2022-07-20 09:21:03.897 Z","level":"error","msg":"Failed to ping DB","caller":"sqlstore/store.go:238","error":"pq: password authentication failed for user \"mattermost\"","retrying in seconds":10}
{"timestamp":"2022-07-20 09:21:13.897 Z","level":"info","msg":"Pinging SQL","caller":"sqlstore/store.go:228","database":"master"}
{"timestamp":"2022-07-20 09:21:13.901 Z","level":"error","msg":"Failed to ping DB","caller":"sqlstore/store.go:238","error":"pq: password authentication failed for user \"mattermost\"","retrying in seconds":10}
{"timestamp":"2022-07-20 09:21:23.906 Z","level":"info","msg":"Pinging SQL","caller":"sqlstore/store.go:228","database":"master"}
{"timestamp":"2022-07-20 09:21:23.911 Z","level":"error","msg":"Failed to ping DB","caller":"sqlstore/store.go:238","error":"pq: password authentication failed for user \"mattermost\"","retrying in seconds":10}
{"timestamp":"2022-07-20 09:21:33.911 Z","level":"info","msg":"Pinging SQL","caller":"sqlstore/store.go:228","database":"master"}
{"timestamp":"2022-07-20 09:21:33.915 Z","level":"error","msg":"Failed to ping DB","caller":"sqlstore/store.go:238","error":"pq: password authentication failed for user \"mattermost\"","retrying in seconds":10}
{"timestamp":"2022-07-20 09:21:43.916 Z","level":"info","msg":"Pinging SQL","caller":"sqlstore/store.go:228","database":"master"}
{"timestamp":"2022-07-20 09:21:43.919 Z","level":"error","msg":"Failed to ping DB","caller":"sqlstore/store.go:238","error":"pq: password authentication failed for user \"mattermost\"","retrying in seconds":10}
{"timestamp":"2022-07-20 09:21:53.925 Z","level":"info","msg":"Pinging SQL","caller":"sqlstore/store.go:228","database":"master"}
{"timestamp":"2022-07-20 09:21:53.929 Z","level":"error","msg":"Failed to ping DB","caller":"sqlstore/store.go:238","error":"pq: password authentication failed for user \"mattermost\"","retrying in seconds":10}
{"timestamp":"2022-07-20 09:22:03.935 Z","level":"info","msg":"Pinging SQL","caller":"sqlstore/store.go:228","database":"master"}
{"timestamp":"2022-07-20 09:22:03.940 Z","level":"error","msg":"Failed to ping DB","caller":"sqlstore/store.go:238","error":"pq: password authentication failed for user \"mattermost\"","retrying in seconds":10}
{"timestamp":"2022-07-20 09:22:13.945 Z","level":"info","msg":"Pinging SQL","caller":"sqlstore/store.go:228","database":"master"}
{"timestamp":"2022-07-20 09:22:13.948 Z","level":"error","msg":"Failed to ping DB","caller":"sqlstore/store.go:238","error":"pq: password authentication failed for user \"mattermost\"","retrying in seconds":10}
{"timestamp":"2022-07-20 09:22:23.949 Z","level":"info","msg":"Pinging SQL","caller":"sqlstore/store.go:228","database":"master"}
{"timestamp":"2022-07-20 09:22:23.953 Z","level":"error","msg":"Failed to ping DB","caller":"sqlstore/store.go:238","error":"pq: password authentication failed for user \"mattermost\"","retrying in seconds":10}
{"timestamp":"2022-07-20 09:22:33.957 Z","level":"info","msg":"Pinging SQL","caller":"sqlstore/store.go:228","database":"master"}
{"timestamp":"2022-07-20 09:22:33.961 Z","level":"error","msg":"Failed to ping DB","caller":"sqlstore/store.go:238","error":"pq: password authentication failed for user \"mattermost\"","retrying in seconds":10}
{"timestamp":"2022-07-20 09:22:43.967 Z","level":"info","msg":"Pinging SQL","caller":"sqlstore/store.go:228","database":"master"}
{"timestamp":"2022-07-20 09:22:43.971 Z","level":"error","msg":"Failed to ping DB","caller":"sqlstore/store.go:238","error":"pq: password authentication failed for user \"mattermost\"","retrying in seconds":10}
{"timestamp":"2022-07-20 09:22:53.976 Z","level":"info","msg":"Pinging SQL","caller":"sqlstore/store.go:228","database":"master"}
{"timestamp":"2022-07-20 09:22:53.980 Z","level":"error","msg":"Failed to ping DB","caller":"sqlstore/store.go:238","error":"pq: password authentication failed for user \"mattermost\"","retrying in seconds":10}
[root@iZj6c9izlk3uwhym60dn5nZ ~]# docker ps
CONTAINER ID   IMAGE                                       COMMAND                  CREATED          STATUS                     PORTS                                                                NAMES
29dfe6031116   dpage/pgadmin4:latest                       "/entrypoint.sh"         50 minutes ago   Up 50 minutes              443/tcp, 0.0.0.0:9090->80/tcp, :::9090->80/tcp                       pgadmin
43a69f9ceba4   mattermost/mattermost-team-edition:latest   "/entrypoint.sh matt…"   50 minutes ago   Up 2 minutes (unhealthy)   8067/tcp, 8074-8075/tcp, 0.0.0.0:9001->8065/tcp, :::9001->8065/tcp   mattermost
edc3298ebf2e   postgres:13-alpine                          "docker-entrypoint.s…"   50 minutes ago   Up 50 minutes              5432/tcp                                                             mattermost-db

Application backups

What type of your feature request?

容器的备份软件:

  • 支持 volume 快照
  • 支持第三方存储挂载
  • 很好的 Docker 支持
  • API 支持

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.