• 0 Posts
  • 13 Comments
Joined 7 months ago
cake
Cake day: November 28th, 2025

help-circle
  • I think a lot of it stems from ACL issues, cause I run it on a TrueNAS machine. If I pointed any other container even near it, it would do weird stuff with the permissions. I was also using docker volumes (because it wouldn’t let me hard mount the db mounts on the machine) and it would randomly seem to wipe them? That may have been more of a user error issue.

    I tried it literally as default as possible and couldn’t get the permissions working correctly, I did also try the ultra-manual install and had slightly better results, but it still stopped working randomly. I also had some random issues with networking but I got those figured out eventually.





  • I like the fact that there isn’t a distinction between the community edition and the business edition. Its all the same thing for Komodo, whereas I felt like Portainer had a bunc hof random things locked away behind the “Business Edition” and that just rubbed me the wrong way. If I’m self hosting something, I feel like I should be able to access all portions of it.

    The GUI is a little different but once you’re used to it, I feel like it makes more sense for the most part. It has a nice way to connect other machines, so I can monitor all of the different machines in my network that are hosting things. I also wanted to mess around with some of the automation features, but I haven’t had as much time to dick around with that as I would like. I also wanted to start doing stuff from a personal Forgejo, and it was super easy to integrate. (No idea how easy it is on Portainer, as I had already jumped ship at that point)


  • Honestly, not entirely certain I did it right, but it was super easy. I literally spun up Komodo, spun down Portainer without shutting any of the other containers/stacks down, then added the same stacks back through the GUI option into Komodo with the same exact compose/title/env options. It literally just recognized that the containers that were already running on my server were the correct ones and “added” them back to the stack in Komodo. I vaguely remember reading that there is a more “correct” way to do it, but I only read about it after the fact.







  • I might be stupid, but I didn’t want to run the install script because I try and run everything via compose files in Komodo.

    I don’t know if this helps, but this is what my compose looks like:
    (Side note, I just put the ENV values directly into the compose. I know this is not recommended, so I put the values to use if you actually mount the env_file like you’re supposed to. )

    services:  
    # ------- Ideon-App ------- 
      ideon-app:  
        image: ghcr.io/3xpyth0n/ideon:latest  
        container_name: ideon-app  
    
    # If you want to do it correctly, mount the ENV_FILE  
    #    env_file:  
    #      - ${ENV_FILE:-.env}  
    # If you want to do it janky, follow me  
        environment: #If you mount a ENV_File, only PUID and PGID are needed below.  
          PUID: 1000 # Optional: User ID for file ownership (default: 1001)  
          PGID: 1000 # Optional: Group ID for file ownership (default: 1001)  
    
    # From the ENV_FILE:  
          APP_PORT: 3001 # Host port to expose the app (container listens on 3000) # I had Homepage on port 3000 so I moved Ideon to 3001  
          APP_URL: http://mymachinesip:3001/ # Public base URL of the app (used for invitations and SSO auth)  
          TIMEZONE: UTC # Canonical timezone for server logs ONLY  
          ### Database  
          #SQLITE_PATH=./storage/dev.db # Override SQLite path (optional) # Note: PostgreSQL variables are not required in "development" mode, SQLite is used automatically (storage/dev.db).  
          DB_HOST: ideon-db # PostgreSQL host or service name (Docker Compose: ideon-db)  
          DB_PORT: 5432 # PostgreSQL port (default 5432)  
          DB_NAME: ideon # PostgreSQL database name  
          DB_USER: ideon # PostgreSQL username  
          DB_PASS: # I ran "openssl rand -base64 15" in the terminal to get PW # PostgreSQL password  
          SECRET_KEY: # I ran "openssl rand -hex 32" in the terminal to get PW  
    
        depends_on:  
          ideon-db:  
            condition: service_healthy  
        restart: unless-stopped  
        ports:  
          - 3001:3001 #"${APP_PORT:-3000}:${APP_PORT:-3000}" 
        volumes:  
          - /mnt/app/containers/ideon/app:/app/storage  
        healthcheck:  
          test:  
            ["CMD", "curl", "-f", "http://localhost:3001/api/health"] #["CMD", "curl", "-f", "http://localhost/:${APP_PORT:-3000}/api/health"]  
          interval: 5s  
          timeout: 5s  
          retries: 5  
          start_period: 10s  
    
    # ------- Ideon-DB ------- 
      ideon-db:  
        image: postgres:16-alpine  
        container_name: ideon-db  
        restart: unless-stopped  
        environment:  
          POSTGRES_USER: ideon # ${DB_USER}  
          POSTGRES_PASSWORD:  #same as DB_PASS   #${DB_PASS}  
          POSTGRES_DB: ideon # ${DB_NAME} 
        volumes:  
          - /mnt/app/containers/ideon/db:/var/lib/postgresql/data #I just hardmount everything  
        healthcheck:  
          test: ["CMD-SHELL", "pg_isready -U ideon -d ideon"] #["CMD-SHELL", "pg_isready -U ${DB_USER} -d ${DB_NAME}"]  
          interval: 2s  
          timeout: 5s  
          retries: 5  
    

    So far I love it. I wanted to use it locally for some low level importance notes before I try to move more over and set it up with an actual mounted env file on a VPS.

    My only thought so far is that its not the greatest on mobile, but I’m really not certain what that would even look like. (Edit: I’m dumb. I didn’t close the sidebar. It actually looks pretty good on mobile. Ignore me.)