August 27, 20232 yr A file upload server (supporting instant file sharing via ShareX/Flameshot) that is easy to use, packed with features, and simplified setup! This is the support thread for the Zipline Community Application. Website | Registry | Documentation | Template Repo This application template contains a simplified installation that is ready to go after one simple step! An existing postgres database instance is required. Zipline Features Lightning fast Built with Next.js & React Seamless integration with ShareX/Flameshot Image uploading and compression URL shortening, text snippet & file uploads with code highlighting, image sharing service Token protected uploading with optional password protected uploads URL formats (uuid, dates, random alphanumeric, original name, zws, gfycat -> animals adjectives) Gallery viewer and multiple file format support Fully customizable Discord webhook notifications OAuth2 registration (Discord and GitHub) And much, much more! Screenshots Spoiler Requirements A PostgreSQL (16 or higher) database is required for Zipline, the official postgresql16 app is recommended Installation & Setup You will need to create a postgres database manually for Zipline prior to use as it will not create one automatically: create a new database by executing the query below in your Postgres instance: CREATE DATABASE zipline; -- You may name this anything Install Zipline from community applications and adjust the template variables as necessary: (Optional) Adjust the container WebUI port, by default this is 8092. CORE_SECRET: A random string used to sign sensitive data, must be greater than 32 characters! DATABASE_URL: Your Postgres database connection string Done! Create the container and visit the web UI to create your administrator account and get started! For more detailed setup instructions, refer to the official Zipline documentation: zipline.diced.sh/docs/config ⚠️ Migrating from v3 to v4 If you are an existing user of Zipline and have previously configured this template, see this comment below. Support If you have any issues with the template or it has gone out of date, please let me know and I will update it - otherwise you are welcome to leave any support queries below. Edited March 2, 20251 yr by ImSkully Fix broken screenshot links.
August 27, 20232 yr Ok I need some help. But first let me just say that I hate postgres. I can't get this to work (database connection problems). I have tried: postgresql://rootuser:rootpassword@serverip:5432 And it still doesn't work even though I have created the database. I have even created a database and a proper user and granted privileges but I can't connect. I get this error: Error: P1013: The provided database string is invalid. invalid port number in database URL. And yes I have triple checked the ports. Either I'm doing something wrong or I'm missing something here. Please help. Edit: Creating a separate user gives me this: 2023-08-27 10:48:15,390 PM info [database::migrations] ensuring database exists, if not creating database - may error if no permissions 2023-08-27 10:48:15,571 PM error [database::migrations] failed to push schema 2023-08-27 10:48:15,572 PM error [database::migrations] Failed to migrate database... exiting... 2023-08-27 10:48:15,575 PM error [database::migrations] Error: db error: ERROR: function gen_random_uuid() does not exist Edited August 27, 20232 yr by gxs
August 27, 20232 yr Author @gxs What version of postgres are you running? Also it looks like you are missing the database at the end of the string: postgresql://USERNAME:PASSWORD@HOST:PORT/DATABASE USERNAME: Your PostgreSQL username PASSWORD: The password to the account HOST: The host name (likely your Unraid server IP if its running on the same server) PORT: Postgres port (default 5432) DATABASE: The database to use (recommend 'zipline', it will be automatically created) So in your case, try: postgresql://rootuser:rootpassword@serverip:5432/zipline Edited August 28, 20232 yr by ImSkully
August 28, 20232 yr @gxs I believe the issue you are having is related to postgres version. I'd suggest using postgresql13 or higher since that comes bundled with gen_random_uuid by default, where with 12, you need to load the extension. I'm rather new to all this as well though, so I could be slightly incorrect, but, that's what fixed that issue for me. Edited August 28, 20232 yr by Ditiae
August 28, 20232 yr 15 hours ago, Ditiae said: @gxs I believe the issue you are having is related to postgres version. I'd suggest using postgresql13 or higher since that comes bundled with gen_random_uuid by default, where with 12, you need to load the extension. I'm rather new to all this as well though, so I could be slightly incorrect, but, that's what fixed that issue for me. Probably it then as I've just checked and I'm running Postgresql 12.5. Thanks
August 28, 20232 yr Author Zipline originally uses an image for PostgreSQL 15, I am personally using 14 and haven't had any issues though I have updated the template to reflect this information, thanks for letting me know.
August 28, 20232 yr It was my old version. I've just installed PostgreSQL 15 and it works now. Thanks for the docker. Edited August 28, 20232 yr by gxs
August 29, 20232 yr Having "Show Version in Sidebar:" set to false causes the webgui fail to load, shows "something went wrong..." after login in with administrator. Edited August 29, 20232 yr by Airfirewall Additional Info
August 29, 20232 yr Author @Airfirewall This is a known issue (#450) in the current v3.7.3 release, an update that fixes this was just released and should be available now: Release v3.7.4 Edited August 29, 20232 yr by ImSkully
February 18, 20242 yr Just installed, love it. Is the 4gb container size normal? I've got everything pointing to /mnt/user folders
February 20, 20242 yr Author On 2/18/2024 at 1:11 AM, jonfive said: Just installed, love it. Is the 4gb container size normal? I've got everything pointing to /mnt/user folders Unfortunately yes, this container comes straight from the latest release on the official GitHub: ghcr.io/diced/zipline:latest Zipline is incredibly bulky for some reason. Edited February 20, 20242 yr by ImSkully
August 14, 20241 yr Any ideas with this? I have tried turning things on and off but nohting seems to work. I am using pg15 /zipline/node_modules/fastify/fastify.js:595 ? appendStackTrace(err, new AVVIO_ERRORS_MAP[err.code](err.message)) ^ FastifyError [Error]: fastify-plugin: Plugin did not start in time: 'next'. You may have forgotten to call 'done' function or to resolve a Promise at manageErr (/zipline/node_modules/fastify/fastify.js:595:33) at /zipline/node_modules/fastify/fastify.js:582:11 at Object._encapsulateThreeParam (/zipline/node_modules/avvio/boot.js:562:7) at Boot.timeoutCall (/zipline/node_modules/avvio/boot.js:458:5) at Boot.callWithCbOrNextTick (/zipline/node_modules/avvio/boot.js:440:19) at release (/zipline/node_modules/fastq/queue.js:149:16) at Object.resume (/zipline/node_modules/fastq/queue.js:82:7) at /zipline/node_modules/avvio/boot.js:174:18 at /zipline/node_modules/avvio/plugin.js:275:7 at done (/zipline/node_modules/avvio/plugin.js:200:5) { code: 'FST_ERR_PLUGIN_TIMEOUT', statusCode: 500, cause: AvvioError [Error]: Plugin did not start in time: 'next'. You may have forgotten to call 'done' function or to resolve a Promise at Timeout._onTimeout (/zipline/node_modules/avvio/plugin.js:122:19) at listOnTimeout (node:internal/timers:569:17) at process.processTimers (node:internal/timers:512:7) { code: 'AVV_ERR_READY_TIMEOUT', fn: <ref *1> [AsyncFunction: nextPlugin] { default: [Circular *1], next: [Circular *1], [Symbol(skip-override)]: true, [Symbol(fastify.display-name)]: 'next', [Symbol(plugin-meta)]: { name: 'next', fastify: '4.x' } } } } Node.js v18.16.0 2024-08-14 01:14:55,086 AM info [datasource] using Local(./uploads) datasource 2024-08-14 01:14:55,174 AM info [database::migrations] establishing database connection 2024-08-14 01:14:55,175 AM info [database::migrations] ensuring database exists, if not creating database - may error if no permissions 2024-08-14 01:14:55,439 AM info [database::migrations] exiting migrations engine - database is up to date Edited August 14, 20241 yr by SteelTitan
August 15, 20241 yr Author @SteelTitan This appears to be an application error caused by Zipline rather than this template, there is an open issue on this here: https://github.com/diced/zipline/issues/582 Edited August 15, 20241 yr by ImSkully
September 12, 20241 yr UPLOADER_DEFAULT_FORMAT:NAME I set this in docker, but uploading files get renamed to a random filename. I only use the webui to upload.
October 10, 20241 yr On 9/12/2024 at 4:10 PM, sem1845 said: UPLOADER_DEFAULT_FORMAT:NAME I set this in docker, but uploading files get renamed to a random filename. I only use the webui to upload. I got the same, did you find a solution for this?
February 18, 20251 yr Author ⚠️ Breaking Changes: Zipline v3 > v4 (latest) Zipline pushed a major release a few days ago to the :latest docker tag which will cause the container to no longer start once updated - do not update your container if you wish to remain no v3 for a little longer, otherwise please follow the migration guide here. If your Zipline container automatically updated already and is now failing to start, you can revert back to v3 by changing the Repository to ghcr.io/diced/zipline:v3 in the template settings and then proceed with the migration guide. If you are migrating from v3, it is also recommended to use the latest application template which has now been updated to v4 environment variables. The majority of Zipline's configuration can now be completed in the application itself so the previous environment variables no longer have any effect. Edited February 18, 20251 yr by ImSkully
February 21, 20251 yr Hey.. Can anybody help with this please? I'm just about to give up with this... I can't find any helpful information about it at all.. I've removed and reinstalled both postgres and zipline many times and consistently get the following error in the zipline logs; [2025-02-21T00:30:27 INFO db] connecting to database undefined [2025-02-21T00:30:27 INFO server] starting zipline mode="production" version="4.0.0" argv=[] [2025-02-21T00:30:27 ERROR server] DATABASE_URL not set, exiting... Yes, the URL is set in the Unraid Docker Template for Zipline. It also connects successfully with the URL using DBGate. postgresql://postgres:******@192.168.0.*:5432/zipline I've tried different references to my server, ip/localhost I've used zipline v3 and v4. Postgres 15 and 16. Yes, I have a 32 chr secret key set. This is a new, empty Postgresql server install - Is any manual setup required first? Any ideas? Thanks Kev
February 21, 20251 yr Author 26 minutes ago, Kev600 said: Hey.. Can anybody help with this please? I'm just about to give up with this... I can't find any helpful information about it at all.. I've removed and reinstalled both postgres and zipline many times and consistently get the following error in the zipline logs; [2025-02-21T00:30:27 INFO db] connecting to database undefined [2025-02-21T00:30:27 INFO server] starting zipline mode="production" version="4.0.0" argv=[] [2025-02-21T00:30:27 ERROR server] DATABASE_URL not set, exiting... Yes, the URL is set in the Unraid Docker Template for Zipline. It also connects successfully with the URL using DBGate. postgresql://postgres:******@192.168.0.*:5432/zipline I've tried different references to my server, ip/localhost I've used zipline v3 and v4. Postgres 15 and 16. Yes, I have a 32 chr secret key set. This is a new, empty Postgresql server install - Is any manual setup required first? Any ideas? Thanks Kev Could you please share the resulting docker run command after creating Zipline from the template? Redact any credentials in DB string. Also what image are you using for your postgres container? Edited February 21, 20251 yr by ImSkully
February 21, 20251 yr Thanks for the quick response! docker run -d --name='Zipline' --net='proxynet' --pids-limit 2048 -e TZ="Europe/London" -e HOST_OS="Unraid" -e HOST_HOSTNAME="KBNAS" -e HOST_CONTAINERNAME="Zipline" -e 'CORE_SECRET'='************************** -e 'CORE_DATABASE_URL'='postgresql://postgres:************@192.168.0.140:5432/zipline' -e 'FEATURES_INVITES'='true' -e 'FEATURES_USER_REGISTRATION'='true' -e 'WEBSITE_TITLE'='Zipline' -e 'WEBSITE_SHOW_VERSION'='true' -e 'UPLOADER_USER_LIMIT'='50mb' -e 'UPLOADER_ADMIN_LIMIT'='100mb' -e 'WEBSITE_SHOW_FILES_PER_USER'='true' -e 'WEBSITE_DISABLE_MEDIA_PREVIEW'='false' -e 'CORE_RETURN_HTTPS'='false' -e 'CORE_STATS_INTERVAL'='1800' -e 'CORE_INVITES_INTERVAL'='1800' -e 'CORE_THUMBNAILS_INTERVAL'='600' -e 'MFA_TOTP_ENABLED'='true' -e 'MFA_TOTP_ISSUER'='Zipline' -e 'UPLOADER_ROUTE'='/u' -e 'URLS_ROUTE'='/go' -e 'URLS_LENGTH'='6' -e 'EXIF_ENABLED'='true' -e 'EXIF_REMOVE_GPS'='true' -e 'RATELIMIT_USER'='5' -e 'RATELIMIT_ADMIN'='1' -l net.unraid.docker.managed=dockerman -l net.unraid.docker.webui='http://[IP]:[PORT:3000]' -l net.unraid.docker.icon='https://raw.githubusercontent.com/ImSkully/unraid-templates/master/zipline/zipline.png' -p '8092:3000/tcp' -v '/mnt/user/appdata/zipline/uploads':'/zipline/uploads':'rw' -v '/mnt/user/appdata/zipline/public':'/zipline/public':'rw' -v '/mnt/user/appdata/zipline/tmp':'/tmp/zipline':'rw' 'ghcr.io/diced/zipline:latest' c104561316f06a11038d6d6f67b31a1ed7ad5183aa91f0e8747d45630eb9c107 The command finished successfully! I'm using Postgres16 from: https://registry.hub.docker.com/_/postgres/, via Community Apps.
February 21, 20251 yr Author @Kev600 You are using an outdated version of the template, I can tell because you are setting the variable: CORE_DATABASE_URL'='postgresql://postgres:************@192.168.0.140:5432/zipline Change this from CORE_DATABASE_URL to just DATABASE_URL and give that a go for a quick fix, though you need to delete the existing template you have installed for Zipline and download a fresh copy from community app store. The new template for v4 removes nearly all environment variables in favour of the in-application configuration instead. Edited February 21, 20251 yr by ImSkully
February 21, 20251 yr Good catch!! Progress!! I'm now getting this; PrismaClientInitializationError: Database `zipline` does not exist on the database server at `192.168.0.140:5432`. at t (/zipline/node_modules/.pnpm/@[email protected][email protected]/node_modules/@prisma/client/runtime/library.js:112:2473) { clientVersion: '6.1.0', errorCode: 'P1003' } Removing and reinstalling...
February 21, 20251 yr Author 1 minute ago, Kev600 said: Good catch!! Progress!! I'm now getting this; PrismaClientInitializationError: Database `zipline` does not exist on the database server at `192.168.0.140:5432`. at t (/zipline/node_modules/.pnpm/@[email protected][email protected]/node_modules/@prisma/client/runtime/library.js:112:2473) { clientVersion: '6.1.0', errorCode: 'P1003' } Removing and reinstalling... You need to go into postgres and manually create the database called `zipline` if you haven't already.
March 7, 20251 yr On 2/18/2025 at 7:26 PM, ImSkully said: ⚠️ Breaking Changes: Zipline v3 > v4 (latest) Zipline pushed a major release a few days ago to the :latest docker tag which will cause the container to no longer start once updated - do not update your container if you wish to remain no v3 for a little longer, otherwise please follow the migration guide here. If your Zipline container automatically updated already and is now failing to start, you can revert back to v3 by changing the Repository to ghcr.io/diced/zipline:v3 in the template settings and then proceed with the migration guide. If you are migrating from v3, it is also recommended to use the latest application template which has now been updated to v4 environment variables. The majority of Zipline's configuration can now be completed in the application itself so the previous environment variables no longer have any effect. Thank you very much for the update! I'll remain on v3 for a little bit longer
April 16, 20251 yr How does anyone setup AWS S3 for Zipline? I cannot find any guidelines for unRAID.
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.