Code Monkey home page Code Monkey logo

Comments (20)

cprpolo avatar cprpolo commented on September 25, 2024

image

I'm using portainer and the logs from jellyfin:

[migrations] started [migrations] no migrations found usermod: no changes ─────────────────────────────────────── ██╗ ███████╗██╗ ██████╗ ██║ ██╔════╝██║██╔═══██╗ ██║ ███████╗██║██║ ██║ ██║ ╚════██║██║██║ ██║ ███████╗███████║██║╚██████╔╝ ╚══════╝╚══════╝╚═╝ ╚═════╝ Brought to you by linuxserver.io ─────────────────────────────────────── To support the app dev(s) visit: Jellyfin: https://opencollective.com/jellyfin To support LSIO projects visit: https://www.linuxserver.io/donate/ ─────────────────────────────────────── GID/UID ─────────────────────────────────────── User UID: 1000 User GID: 1000 ─────────────────────────────────────── [custom-init] No custom files found, skipping... failed to load external entity "/config/network.xml" [19:43:13] [INF] [1] Main: Jellyfin version: 10.8.10 [19:43:13] [INF] [1] Main: Environment Variables: ["[JELLYFIN_CACHE_DIR, /config/cache]", "[JELLYFIN_WEB_DIR, /usr/share/jellyfin/web]", "[JELLYFIN_DATA_DIR, /config/data]", "[JELLYFIN_CONFIG_DIR, /config]", "[JELLYFIN_LOG_DIR, /config/log]"] [19:43:13] [INF] [1] Main: Arguments: ["/usr/lib/jellyfin/bin/jellyfin.dll", "--ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg"] [19:43:13] [INF] [1] Main: Operating system: Linux [19:43:13] [INF] [1] Main: Architecture: X64 [19:43:13] [INF] [1] Main: 64-Bit Process: True [19:43:13] [INF] [1] Main: User Interactive: True [19:43:13] [INF] [1] Main: Processor count: 4 [19:43:13] [INF] [1] Main: Program data path: /config/data [19:43:13] [INF] [1] Main: Web resources path: /usr/share/jellyfin/web [19:43:13] [INF] [1] Main: Application directory: /usr/lib/jellyfin/bin/ [19:43:13] [INF] [1] Jellyfin.Server.Migrations.MigrationRunner: Applying migration 'CreateNetworkConfiguration' [19:43:13] [INF] [1] Jellyfin.Server.Migrations.MigrationRunner: Migration 'CreateNetworkConfiguration' applied successfully [19:43:13] [INF] [1] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: /config/cache [19:43:13] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loading assemblies [19:43:14] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Defined LAN addresses : [10.0.0.0/8,172.16.0.0/12,192.168.0.0/16] [19:43:14] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Defined LAN exclusions : [] [19:43:14] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using LAN addresses: [10.0.0.0/8,172.16.0.0/12,192.168.0.0/16] [19:43:14] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using bind addresses: [] [19:43:14] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using bind exclusions: [] [19:43:16] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: TMDb 10.8.10.0 [19:43:16] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: Studio Images 10.8.10.0 [19:43:16] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: OMDb 10.8.10.0 [19:43:16] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: MusicBrainz 10.8.10.0 [19:43:16] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: AudioDB 10.8.10.0 [19:43:16] [INF] [1] Main: Kestrel listening on Any IP4 Address [19:43:16] [WRN] [1] Microsoft.AspNetCore.DataProtection.Repositories.EphemeralXmlRepository: Using an in-memory repository. Keys will not be persisted to storage. [19:43:16] [WRN] [1] Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager: Neither user profile nor HKLM registry available. Using an ephemeral key repository. Protected data will be unavailable when application exits. [19:43:16] [WRN] [1] Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager: No XML encryptor configured. Key {b9d7abd2-cfe9-42b9-960e-50ed289040fb} may be persisted to storage in unencrypted form. [19:43:16] [INF] [1] Emby.Server.Implementations.ApplicationHost: Running startup tasks [19:43:16] [INF] [1] Emby.Server.Implementations.ScheduledTasks.TaskManager: Daily trigger for Extract Chapter Images set to fire at 2023-07-30 02:00:00.000 +02:00, which is 06:16:43.2803240 from now. [19:43:17] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Found ffmpeg version 5.1.3 [19:43:17] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available decoders: ["libdav1d", "av1", "av1_cuvid", "av1_qsv", "h264", "h264_qsv", "h264_cuvid", "hevc", "hevc_qsv", "hevc_cuvid", "mpeg2video", "mpeg2_qsv", "mpeg2_cuvid", "mpeg4", "mpeg4_cuvid", "msmpeg4", "vc1_qsv", "vc1_cuvid", "vp8", "libvpx", "vp8_cuvid", "vp8_qsv", "vp9", "libvpx-vp9", "vp9_cuvid", "vp9_qsv", "aac", "ac3", "dca", "flac", "mp3", "truehd"] [19:43:17] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available encoders: ["libx264", "h264_amf", "h264_nvenc", "h264_qsv", "h264_v4l2m2m", "h264_vaapi", "libx265", "hevc_amf", "hevc_nvenc", "hevc_qsv", "hevc_vaapi", "mpeg4", "msmpeg4", "libvpx", "libvpx-vp9", "aac", "libfdk_aac", "ac3", "dca", "flac", "libmp3lame", "libopus", "truehd", "libvorbis", "srt"] [19:43:17] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available filters: ["deinterlace_qsv", "deinterlace_vaapi", "hwupload_cuda", "hwupload_vaapi", "overlay_opencl", "overlay_qsv", "overlay_vaapi", "overlay_cuda", "procamp_vaapi", "scale_cuda", "scale_opencl", "scale_qsv", "scale_vaapi", "tonemap_cuda", "tonemap_opencl", "tonemap_vaapi", "vpp_qsv", "yadif_cuda", "zscale", "alphasrc"] [19:43:17] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available hwaccel types: ["cuda", "vaapi", "qsv", "drm", "opencl", "vulkan"] [19:43:17] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: FFmpeg: /usr/lib/jellyfin-ffmpeg/ffmpeg [19:43:17] [INF] [1] Emby.Server.Implementations.ApplicationHost: ServerId: 6741fe504fb74e6397fe1694b4498a1e [19:43:17] [INF] [1] Emby.Server.Implementations.ApplicationHost: Executed all pre-startup entry points in 0:00:00.090945 [19:43:17] [INF] [1] Emby.Server.Implementations.ApplicationHost: Core startup complete [19:43:17] [INF] [1] Emby.Server.Implementations.ApplicationHost: Executed all post-startup entry points in 0:00:00.1054301 [19:43:17] [INF] [1] Main: Startup complete 0:00:04.3303974 [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'AccessSchedule' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'ActivityLog' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'CustomItemDisplayPreferences' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'DisplayPreferences' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'HomeSection' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'ImageInfo' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'ItemDisplayPreferences' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'Permission' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'Preference' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'ApiKey' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'Device' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'DeviceOptions' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [19:43:18] [WRN] [13] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'User' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider. [ls.io-init] done. [19:43:19] [INF] [13] Emby.Server.Implementations.ScheduledTasks.TaskManager: StartupTrigger fired for task: Update Plugins [19:43:19] [INF] [13] Emby.Server.Implementations.ScheduledTasks.TaskManager: Queuing task PluginUpdateTask [19:43:19] [INF] [17] Emby.Server.Implementations.ScheduledTasks.TaskManager: Executing Update Plugins [19:43:20] [INF] [10] Emby.Server.Implementations.ScheduledTasks.TaskManager: Update Plugins Completed after 0 minute(s) and 0 seconds [19:43:20] [INF] [10] Emby.Server.Implementations.ScheduledTasks.TaskManager: ExecuteQueuedTasks

and from traefik:

time="2023-07-29T17:43:11Z" level=info msg="Configuration loaded from file: /etc/traefik/traefik.toml" time="2023-07-29T17:43:11Z" level=error msg="service \"portainer\" error: port is missing" providerName=docker container=portainer-6da5d61a09c0bd65750339f4854ae221871af3b18f94029c7228dce17578aede time="2023-07-29T17:43:11Z" level=error msg="service \"portainer\" error: port is missing" providerName=docker container=portainer-6da5d61a09c0bd65750339f4854ae221871af3b18f94029c7228dce17578aede

from docker-media-center.

EdyTheCow avatar EdyTheCow commented on September 25, 2024

The htpasswd shouldn't matter for Jellyfin specifically because it's not even using it, Jellyfin has its own authentication so htpasswd is irrelevant in this case.

Could you show me your .env file? Also, is the file "acme.json" populated with anything or is it empty?

from docker-media-center.

cprpolo avatar cprpolo commented on September 25, 2024

.env file:

Containers prefix

COMPOSE_PROJECT_NAME=dmc

Data location for storing media, downloads and configs

DATA_DIR=../data
SERVICES_DIR=../services

Timezone

TIMEZONE=Europe/Oslo

Linux user/group ID for file permissions

User ID

ENV_PUID=1000

Group ID

ENV_PGID=1000

Domain

DOMAIN=chickenkiller.com

Subdomains for accessing services

SUB_DOMAIN_JELLYFIN=jellyfincp
SUB_DOMAIN_TRANSMISSION=transmissioncp
SUB_DOMAIN_SONARR=sonarrcp
SUB_DOMAIN_RADARR=radarr
SUB_DOMAIN_PROWLARR=prowlarr
SUB_DOMAIN_JELLYSEERR=jellyseerr

"acme.json" is populated with many things

from docker-media-center.

cprpolo avatar cprpolo commented on September 25, 2024

if i deploy with my own containers and config i get the same issue... 404
any other ideas? I am not sure what is wrong tbh...

from docker-media-center.

EdyTheCow avatar EdyTheCow commented on September 25, 2024

Could you also show me your docker-compose.yml that's found in "dmc/compose/"?

from docker-media-center.

cprpolo avatar cprpolo commented on September 25, 2024

Here it is:
`version: "3.7"

networks:
global:
external: true
local:
external: false

services:

jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
restart: unless-stopped
#security_opt: # Required for Docker versions below 20.10.10, update Docker for long term solution. Source: https://docs.linuxserver.io/faq#jammy
# - seccomp=unconfined
networks:
- global
- local
environment:
- PUID=${ENV_PUID}
- PGID=${ENV_PGID}
- TZ=${TIMEZONE}
volumes:
- ${SERVICES_DIR}/jellyfin:/config
- ${DATA_DIR}/media:/data/media
labels:
- "traefik.enable=true"
- "traefik.http.routers.dmc-jellyfin.rule=Host(${SUB_DOMAIN_JELLYFIN}.${DOMAIN})"
- "traefik.http.routers.dmc-jellyfin.tls=true"
- "traefik.http.services.dmc-jellyfin.loadbalancer.server.port=8096"
- "traefik.http.routers.dmc-jellyfin.tls.certresolver=letsencrypt"
- "traefik.docker.network=global"

transmission:
image: lscr.io/linuxserver/transmission:latest
restart: unless-stopped
networks:
- global
- local
environment:
- PUID=${ENV_PUID}
- PGID=${ENV_PGID}
- TZ={TIMEZONE}
volumes:
- ${SERVICES_DIR}/transmission:/config
- ${DATA_DIR}/downloads:/data/downloads
ports:
- 51413:51413 # Torrent port TCP
- 51413:51413/udp # Torrent port UDP
labels:
- "traefik.enable=true"
- "traefik.http.routers.dmc-transmission.rule=Host(${SUB_DOMAIN_TRANSMISSION}.${DOMAIN})"
- "traefik.http.routers.dmc-transmission.tls=true"
- "traefik.http.services.dmc-transmission.loadbalancer.server.port=9091"
- "traefik.http.routers.dmc-transmission.tls.certresolver=letsencrypt"
- "traefik.docker.network=global"
# Basic auth
- "traefik.http.middlewares.dmc-auth.basicauth.usersfile=/.htpasswd"
- "traefik.http.routers.dmc-transmission.middlewares=dmc-auth"

radarr:
image: lscr.io/linuxserver/radarr:latest
restart: unless-stopped
networks:
- global
- local
environment:
- PUID=${ENV_PUID}
- PGID=${ENV_PGID}
- TZ={TIMEZONE}
volumes:
- ${SERVICES_DIR}/radarr:/config
- ${DATA_DIR}:/data
labels:
- "traefik.enable=true"
- "traefik.http.routers.dmc-radarr.rule=Host(${SUB_DOMAIN_RADARR}.${DOMAIN})"
- "traefik.http.routers.dmc-radarr.tls=true"
- "traefik.http.services.dmc-radarr.loadbalancer.server.port=7878"
- "traefik.http.routers.dmc-radarr.tls.certresolver=letsencrypt"
- "traefik.docker.network=global"
# Basic auth
- "traefik.http.middlewares.dmc-auth.basicauth.usersfile=/.htpasswd"
- "traefik.http.routers.dmc-radarr.middlewares=dmc-auth"

sonarr:
image: lscr.io/linuxserver/sonarr:latest
restart: unless-stopped
#security_opt: # Required for Docker versions below 20.10.10, update Docker for long term solution. Source: https://docs.linuxserver.io/faq#jammy
# - seccomp=unconfined
networks:
- global
- local
environment:
- PUID=${ENV_PUID}
- PGID=${ENV_PGID}
- TZ={TIMEZONE}
volumes:
- ${SERVICES_DIR}/sonarr:/config
- ${DATA_DIR}:/data
labels:
- "traefik.enable=true"
- "traefik.http.routers.dmc-sonarr.rule=Host(${SUB_DOMAIN_SONARR}.${DOMAIN})"
- "traefik.http.routers.dmc-sonarr.tls=true"
- "traefik.http.services.dmc-sonarr.loadbalancer.server.port=8989"
- "traefik.http.routers.dmc-sonarr.tls.certresolver=letsencrypt"
- "traefik.docker.network=global"
# Basic auth
- "traefik.http.middlewares.dmc-auth.basicauth.usersfile=/.htpasswd"
- "traefik.http.routers.dmc-sonarr.middlewares=dmc-auth"

prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
restart: unless-stopped
networks:
- global
- local
environment:
- PUID=${ENV_PUID}
- PGID=${ENV_PGID}
- TZ={TIMEZONE}
volumes:
- ${SERVICES_DIR}/prowlarr:/config
labels:
- "traefik.enable=true"
- "traefik.http.routers.dmc-prowlarr.rule=Host(${SUB_DOMAIN_PROWLARR}.${DOMAIN})"
- "traefik.http.routers.dmc-prowlarr.tls=true"
- "traefik.http.services.dmc-prowlarr.loadbalancer.server.port=9696"
- "traefik.http.routers.dmc-prowlarr.tls.certresolver=letsencrypt"
- "traefik.docker.network=global"
# Basic auth
- "traefik.http.middlewares.dmc-auth.basicauth.usersfile=/.htpasswd"
- "traefik.http.routers.dmc-prowlarr.middlewares=dmc-auth"

jellyseerr:
image: fallenbagel/jellyseerr:latest
restart: unless-stopped
networks:
- global
- local
environment:
- LOG_LEVEL=debug
- TZ={TIMEZONE}
volumes:
- ${SERVICES_DIR}/jellyseerr:/app/config
labels:
- "traefik.enable=true"
- "traefik.http.routers.dmc-jellyseerr.rule=Host(${SUB_DOMAIN_JELLYSEERR}.${DOMAIN})"
- "traefik.http.routers.dmc-jellyseerr.tls=true"
- "traefik.http.services.dmc-jellyseerr.loadbalancer.server.port=5055"
- "traefik.http.routers.dmc-jellyseerr.tls.certresolver=letsencrypt"
- "traefik.docker.network=global"

`

from docker-media-center.

cprpolo avatar cprpolo commented on September 25, 2024

is there anything else needed?

from docker-media-center.

cprpolo avatar cprpolo commented on September 25, 2024

I'm still struggling, do you think is a bug or I am doing something stupidly wrong?

from docker-media-center.

EdyTheCow avatar EdyTheCow commented on September 25, 2024

When I navigated to the jellyfin domain earlier it did say 404. Meaning it does reach Traefik and since acme.json is also populated means everything works until it comes down to Jellyfin itself.

The issue itself has something to do with Jellyfin. Have you tried running other services like transmission, sonarr, etc.? Do those work?

from docker-media-center.

cprpolo avatar cprpolo commented on September 25, 2024

no, but it is likely the same, I can't test right now
what could i check to see the issue on jellyfin?

from docker-media-center.

EdyTheCow avatar EdyTheCow commented on September 25, 2024

The easiest and most straightforward thing you can test is the other services. If they do work, then it's definitely something with Jellyfin. If not, then it could be something else. Basically try to narrow down what could be the issue.

from docker-media-center.

cprpolo avatar cprpolo commented on September 25, 2024

cool, i'll check and revert here

from docker-media-center.

cprpolo avatar cprpolo commented on September 25, 2024

just a doubt maybe unrelated to the issue but it is related to traefik and I could not find a clarification.
If i want to set service1.mydomain.com to reach my service1 and service2.mydomain.com to reach my service2, I need 2 dns entries pointing to my same public IP, right? one service1.mydomain.com and other service2.mydomain.com, correct?

but if I want mysubdomain.domain.com/service1 to reach my service1 and mysubdomain.domain.com/service2 to reach my service2 I only need a dns entry to reach my public IP on mysubdomain.domain.com, right?

and is there a limitation on traefik working only on HTTP?

Thank you in advance

from docker-media-center.

EdyTheCow avatar EdyTheCow commented on September 25, 2024

Yes, it is possible to use /service1, etc. Which would result in one DNS entry. However, in that case you would have to add additional traefik labels and also make sure there's no conflicts or edge cases with the services. While it is possible, it is beyond the scope of this guide. The main reason why I chose to go with subdomains is to fully separate each service.

I am not sure why you would want to run HTTP while using traefik or even without using traefik. In any case it is highly recommended to run any services using HTTPS.

If you're only interested in running jellyfin, you should just look up the official or linuxserver docker set-up which should be more straightforward to install. If you still want to use this set-up, I would suggest trying to setup a simple traefik and nginx installation. Just to see if a service under traefik works. If that works, then try to use the same configuration with just jellyfin and traefik. The issue could be anything at this point, so it may be wise to just try installing the most simple possible thing using traefik and go from there. I am currently using this exact setup, so the issue should be somewhere on your side.

from docker-media-center.

cprpolo avatar cprpolo commented on September 25, 2024

okay, so for https I need a certificate for each dns entry or i can use one for something like: *.mydomain.com? or not adviced?

from docker-media-center.

EdyTheCow avatar EdyTheCow commented on September 25, 2024

You don't need to do anything, Traefik generates certificates automatically for every domain or subdomain you define in .env file. All of the generated certificates are stored in the acme.json file. You can actually open the file and see every certificate generated for each sub domain.

from docker-media-center.

cprpolo avatar cprpolo commented on September 25, 2024

mmm okay, cool, good to know, thank you :) I'll let you know how it goes

from docker-media-center.

cprpolo avatar cprpolo commented on September 25, 2024

Hi! I got a working set up for jellyfin with a mix and match of different places. I think we can close this but I also get the certificate not trust if you have any idea? :)

from docker-media-center.

EdyTheCow avatar EdyTheCow commented on September 25, 2024

I am glad you finally got it working! Are you using Traefik for certificates? Could you also take a screenshot of the issue?

from docker-media-center.

cprpolo avatar cprpolo commented on September 25, 2024

Thank you for your help!! :)
yes, default traefik certificates
Screenshot_20230808_061633
Screenshot_20230808_061649

from docker-media-center.

Related Issues (3)

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.