[Support] Fireshare


Recommended Posts

fireshare-forum-logo.thumb.png.03cffda7adcd82f11d2ec3425c503122.png

 

Fireshare is an application that allows you to share your your media

to anyone via publicly accessible share links.
_________________________________________________________________
Have game clips you want to share to friends but don't want to deal with

uploading them to YouTube or maybe they are too large to send in Discord?

Simply add your game clips to a directory mounted to Fireshare and they

will automatically have share links created for them.
 

Application Name: Fireshare
Docker Hub: https://hub.docker.com/r/shaneisrael/fireshare
Github: https://github.com/ShaneIsrael/fireshare

 

Please post any questions / issues relating to this docker you have in this thread.

If you are not using Unraid, then please do not post here, rather report the issue on the Github project page.

Edited by Shane Israel
grammar
Link to comment

I've been looking for somthing like this for a while!

 

I am currently having an issue though getting it to work on my Unraid server via the Docker image.

I'd like to change the port from 80 to somthing else. It appears the default port can't be changed? Below is a screenshot of the error I am receiving when I spin up the container.

I also get this same error when I change nothing in the container settings.

image.png.a4e2df9fbfc6bcdb5efab34e3d9a6127.png

 

Let me know if you need more info.

Edited by Reziem
Link to comment
1 hour ago, Reziem said:

I've been looking for somthing like this for a while!

 

I am currently having an issue though getting it to work on my Unraid server via the Docker image.

I'd like to change the port from 80 to somthing else. It appears the default port can't be changed? Below is a screenshot of the error I am receiving when I spin up the container.

I also get this same error when I change nothing in the container settings.

image.png.a4e2df9fbfc6bcdb5efab34e3d9a6127.png

 

Let me know if you need more info.


The port within the container can not be changed from 80 at the moment. But you should be able to map any port to that 80. By default it should be mapping port 8080 -> 80.

Let me double check that the default settings are still correct for Unraid and work, I may have fudged something in the xml.

Link to comment
37 minutes ago, Shane Israel said:


The port within the container can not be changed from 80 at the moment. But you should be able to map any port to that 80. By default it should be mapping port 8080 -> 80.

Let me double check that the default settings are still correct for Unraid and work, I may have fudged something in the xml.

 

No worries, I tried deleting the container, starting over, changing none of the settings and I still receive the same error.

I am little new to Unraid and I am a bit confused with the message that pops up when installling regarding that it uses a custom network. I've used / created custom networks before but this container defaults to "none" which I've never really seen before. Could you explain that a bit? Maybe that is what I am doing wrong. 

image.png.a77d9018c27b4970a1b7a98ef993d6e6.png

Edited by Reziem
Link to comment

@Reziem
Okay so looks like there was a bug (which I thought was working but apparently not) so I reverted that change for now.

Update the container and also set the Network mode to "Bridge" or whatever your custom network setup is. Its being set to "None" by default which is wrong and I pushed a fix for that too.

Then you should be able to change the 8080 port to whatever you want and start the container.

Also, please note the application doesn't yet have the ability to automatically scan your media folder (I'm working on this feature now) so until that feature is ready you'll have to initiate a manual scan by clicking the "Scan" button which is located under the Admin avatar image at the top right of the app when logged in. Just click that button, wait like 30 seconds and refresh your page and you should see your videos.

Link to comment

You'll have to open the "advanced view" and then you will see the "force update" button.

image.png.fecb2d6aa029a0ee3e1ec82ff3035dbe.png
Press that, then edit the container settings and choose a different port from 8080 to one that isn't being used by one of your other containers. A lot of stuff uses 8080 as the default.

Then start the container.

 

Link to comment
1 hour ago, Shane Israel said:

@Reziem
Okay so looks like there was a bug (which I thought was working but apparently not) so I reverted that change for now.

Update the container and also set the Network mode to "Bridge" or whatever your custom network setup is. Its being set to "None" by default which is wrong and I pushed a fix for that too.

Then you should be able to change the 8080 port to whatever you want and start the container.

Also, please note the application doesn't yet have the ability to automatically scan your media folder (I'm working on this feature now) so until that feature is ready you'll have to initiate a manual scan by clicking the "Scan" button which is located under the Admin avatar image at the top right of the app when logged in. Just click that button, wait like 30 seconds and refresh your page and you should see your videos.

 

1 hour ago, Shane Israel said:

You'll have to open the "advanced view" and then you will see the "force update" button.

image.png.fecb2d6aa029a0ee3e1ec82ff3035dbe.png
Press that, then edit the container settings and choose a different port from 8080 to one that isn't being used by one of your other containers. A lot of stuff uses 8080 as the default.

Then start the container.

 

 

Thank you very much! All is working now! :)

 

image.thumb.png.1ccf8ba5998070ec6b3dc91691aecec3.png

Link to comment

If you updated, and the application is not starting

Please try deleting the sqlite.db file in your fireshare data directory, by default it should be /appdata/fireshare

A change was made that requires a rebuild of that database file. You will need to re-run the Library Scan to re-populate the db.

Link to comment
  • 2 weeks later...

Is there any special configuration needed to make it public over HTTPS through Nginx Proxy Manager and Cloudflare?

Whatever I try, the app is not reachable over HTTPS

 

EDIT: it seems like the bug you mentioned above is still active?
I removed the container already and reinstalled it fresh, however the 8080 or whatever port I fill in doesn't seem to register. In Unraid it always shows as 80.

Edited by Dafox
Link to comment

@Dafox There shouldn't be any special configuration needed. I also have it running off my unraid using Nginx Proxy Manager with https just fine.

Are you sure port 8080 is free? You could try changing 8080 to some other port that you know isn't being used. Leave the container port set to 80 though.

 

Does it work over regular http?


Edit:
I noticed you mentioned cloudflare, there is a chance they are doing something thats block https but I unfortunately do not have any experience with CloudFlare so that might be something you'd have to ask their support about.

 

Edited by Shane Israel
Link to comment
  • 3 weeks later...

Having an issue where the docker container does not have access to read the video files. Getting this error: 

[error] 11#11: *23 open() "/processed/derived/e254ff204511325c2ae45302981cc677/poster.jpg" failed (13: Permission denied), client: 192.168.50.103, server: default, request: "GET /_content/derived/e254ff204511325c2ae45302981cc677/poster.jpg HTTP/1.1", host: "192.168.50.16:8081", referrer: "http://192.168.50.16:8081/"

and getting this error when I scan the database: 

2022-07-01 17:48:47,116 INFO    cli.create_posters:212 | Checking for videos with missing posters...
2022-07-01 17:48:47,116 WARNING cli.create_posters:217 | Skipping creation of poster for video aff0133875f1fafc5f93d4d8fd7c34eb because the video at /processed/video_links/aff0133875f1fafc5f93d4d8fd7c34eb.mp4 does not exist or is not accessible
2022-07-01 17:48:47,116 WARNING cli.create_posters:217 | Skipping creation of poster for video 44be4b1853f05f38c3fcb329985e4d90 because the video at /processed/video_links/44be4b1853f05f38c3fcb329985e4d90.mp4 does not exist or is not accessible
2022-07-01 17:48:47,117 WARNING cli.create_posters:217 | Skipping creation of poster for video ae8ab7f2af99dd9ee7e76ee532166042 because the video at /processed/video_links/ae8ab7f2af99dd9ee7e76ee532166042.mp4 does not exist or is not accessible

 

Link to comment

@colev14

I was the one replying to you on reddit. You'll probably need to request help from somebody who has experience with unraid folder permission issues. I would try posting in the General Support asking for help debugging file/folder permissions of your /mnt/user/appdata/fireshare and /mnt/user/appdata/fireshare_processed folders.

Link to comment

I was able to figure out the issue, I'm going to post it both places in case anyone else runs into the same problem. For some reason the permissions for that share were messed up. I just had to go into the unraid file manager. Check the box next to my gameclips share, and then hit the permissions button at the bottom and change all of them to read/write. The group and other ones both were no access before for some reason. https://imgur.com/a/knBhLY5

  • Like 1
Link to comment
  • 1 month later...

I've run into a problem with this docker. It crashed on me at some point and now when I try to start it, it immediately stops and I get this in the logs:

rm: cannot remove '/jobs.sqlite': Permission denied
2022-08-21 17:17:57,558 INFO    __init__.update_config:26 | Validating configuration file...
INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
2022-08-21 17:17:58,398 INFO    __init__.update_config:26 | Validating configuration file...
2022-08-21 17:17:58,481 INFO    schedule.init_schedule:17 | Initializing scheduled video scan. minutes=5
/usr/local/lib/python3.9/site-packages/apscheduler/util.py:94: PytzUsageWarning: The zone attribute is specific to pytz's interface; please migrate to a new time zone provider. For more details on how to do so, see https://pytz-deprecation-shim.readthedocs.io/en/latest/migration.html
  if obj.zone == 'local':
/usr/local/lib/python3.9/site-packages/apscheduler/triggers/interval.py:66: PytzUsageWarning: The normalize method is no longer necessary, as this time zone supports the fold attribute (PEP 495). For more details on migrating to a PEP 495-compliant implementation, see https://pytz-deprecation-shim.readthedocs.io/en/latest/migration.html
  return self.timezone.normalize(next_fire_time)
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1819, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 732, in do_execute
    cursor.execute(statement, parameters)
sqlite3.IntegrityError: UNIQUE constraint failed: apscheduler_jobs.id

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/apscheduler/jobstores/sqlalchemy.py", line 98, in add_job
    self.engine.execute(insert)
  File "<string>", line 2, in execute
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/deprecations.py", line 401, in warned
    return fn(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 3176, in execute
    return connection.execute(statement, *multiparams, **params)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1306, in execute
    return meth(self, multiparams, params, _EMPTY_EXECUTION_OPTS)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/sql/elements.py", line 325, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1498, in _execute_clauseelement
    ret = self._execute_context(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1862, in _execute_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 2043, in _handle_dbapi_exception
    util.raise_(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1819, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 732, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) UNIQUE constraint failed: apscheduler_jobs.id
[SQL: INSERT INTO apscheduler_jobs (id, next_run_time, job_state) VALUES (?, ?, ?)]
[parameters: ('fireshare_scan', 1661120578.617649, <memory at 0x150cb439cd00>)]
(Background on this error at: https://sqlalche.me/e/14/gkpj)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/gunicorn", line 8, in <module>
    sys.exit(run())
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 67, in run
    WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/base.py", line 231, in run
    super().run()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/base.py", line 72, in run
    Arbiter(self).run()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/arbiter.py", line 58, in __init__
    self.setup(app)
  File "/usr/local/lib/python3.9/site-packages/gunicorn/arbiter.py", line 118, in setup
    self.app.wsgi()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
    return self.load_wsgiapp()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/usr/local/lib/python3.9/site-packages/gunicorn/util.py", line 412, in import_app
    app = app(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/fireshare/__init__.py", line 123, in create_app
    init_schedule(app.config['SCHEDULED_JOBS_DATABASE_URI'],
  File "/usr/local/lib/python3.9/site-packages/fireshare/schedule.py", line 20, in init_schedule
    scheduler.start()
  File "/usr/local/lib/python3.9/site-packages/apscheduler/schedulers/background.py", line 33, in start
    BaseScheduler.start(self, *args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/apscheduler/schedulers/base.py", line 162, in start
    self._real_add_job(job, jobstore_alias, replace_existing)
  File "/usr/local/lib/python3.9/site-packages/apscheduler/schedulers/base.py", line 867, in _real_add_job
    store.add_job(job)
  File "/usr/local/lib/python3.9/site-packages/apscheduler/jobstores/sqlalchemy.py", line 100, in add_job
    raise ConflictingIdError(job.id)
apscheduler.jobstores.base.ConflictingIdError: 'Job identifier (fireshare_scan) conflicts with an existing job'
-------------------------------------

User uid:    99
User gid:    100
-------------------------------------

 

Link to comment

@phreeq

I have a fix for this in the latest develop image. It's not yet merged into the stable release as I haven't had a chance to personally test it yet but so far people have said it does work. Please try the following image and let me know if that resolves the problem.

shaneisrael/fireshare:develop

 

Edited by Shane Israel
  • Like 1
Link to comment
  • 1 month later...
7 minutes ago, Neldonado said:

image.thumb.png.08547aadbb1bd68defd65e42edf4e625.pngStarted running into this issue where all my videos show this error when I go to play them. The directory is correct and all the files are here in MP4 Format, so I am not sure what's going on. Any suggestions?

 

If the files were encoded in h265 you'll see this issue. Most browsers do not support h265 playback. If your are certain that is not the issue you can stop Fireshare and delete your Fireshare database then start Fireshare again. After the initial video scan completes see if the videos play.

 

Edited by Shane Israel
Link to comment
47 minutes ago, Shane Israel said:

 

If the files were encoded in h265 you'll see this issue. Most browsers do not support h265 playback. If your are certain that is not the issue you can stop Fireshare and delete your Fireshare database then start Fireshare again. After the initial video scan completes see if the videos play.

 

I might give this a shot. Recent videos work but my older ones stopped, and I recently had to restore my appdata so maybe that messed something up?

Link to comment
9 hours ago, Shane Israel said:

 

If the files were encoded in h265 you'll see this issue. Most browsers do not support h265 playback. If your are certain that is not the issue you can stop Fireshare and delete your Fireshare database then start Fireshare again. After the initial video scan completes see if the videos play.

 

So I went and deleted the DB, did another scan, and videos older than a specific date wont play. Some of these are videos that I had shared links to, so I know they worked at one point, and they are all created and stored in the same folder by Geforce experience. I can play all of the files straight from the folder, but on fireshare only newer videos will play. Any suggestions besides a full delete/ reinstall? I'd hate to lose all my links I've shared.

I should note I can go back a week, which is when I had to restore my appdata. Maybe something got messed up with that? Would the fireshare process folder be not lined up with my db?

Edited by Neldonado
Link to comment

@Neldonado I would do a reinstall of Fireshare completely then if the issue aligns back to when you had appdata issues. Delete both the data and processed folders.

 

When you reinstall Fireshare your old links will still work so long as you do not edit the video files. You can rename the files or even move them to a different subfolder. Fireshare generates links based off the hash data of the file which will always be the same unless the file is changed.

 

So you don't have to worry about your old links no longer working.

Link to comment
19 hours ago, Shane Israel said:

@Neldonado I would do a reinstall of Fireshare completely then if the issue aligns back to when you had appdata issues. Delete both the data and processed folders.

 

When you reinstall Fireshare your old links will still work so long as you do not edit the video files. You can rename the files or even move them to a different subfolder. Fireshare generates links based off the hash data of the file which will always be the same unless the file is changed.

 

So you don't have to worry about your old links no longer working.

I reinstalled it and deleted all the files, it worked 100% for 3-4 hours and now some of my most recent clips are not working. It seems inconsistent with the ones I get errors with and the one's I don't. Only thing I can think is that I am using a cache with the video share.. would that affect anything?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.