services: web: build: context: . dockerfile: Dockerfile container_name: web networks: - caddy_shared - ass5_net environment: ASPNETCORE_ENVIRONMENT: Production POSTGRES_HOST: db POSTGRES_PORT: 5432 POSTGRES_DB: db POSTGRES_USER: user POSTGRES_PASSWORD_FILE: /run/secrets/postgres_password restart: always depends_on: - db expose: - "8080" secrets: - postgres_password db: image: postgres:16 container_name: db networks: - ass5_net environment: POSTGRES_DB: db POSTGRES_USER: user POSTGRES_PASSWORD_FILE: /run/secrets/postgres_password volumes: - postgres_data:/var/lib/postgresql/data restart: always expose: - "5432" secrets: - postgres_password caddy: image: caddy:2 networks: - caddy_shared container_name: caddy restart: always ports: - "80:80" - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile - caddy_data:/data - caddy_config:/config runner: # Service for Gitea Actions runner image: docker.io/gitea/act_runner:latest # Docker-imaget som brukes for act_runner restart: always # Runneren restartes automatisk hvis den stopper eller maskinen restartes environment: # Miljøvariabler som konfigurerer runneren CONFIG_FILE: /config.yaml # Forteller runneren hvor konfigurasjonsfila ligger inne i containeren GITEA_INSTANCE_URL: "https://git.softsand.it/" # URL-en til Gitea-instansen runneren skal koble seg til GITEA_RUNNER_REGISTRATION_TOKEN: ${GITEA_RUNNER_REGISTRATION_TOKEN} # Token brukt for å registrere runneren mot Gitea GITEA_RUNNER_NAME: "docker-host-1" # Navnet runneren får i Gitea-grensesnittet GITEA_RUNNER_LABEL: "docker:host" # Label workflowen kan bruke i runs-on for å velge denne runneren volumes: # Mapper nødvendige filer og socketer inn i runner-containeren - ./config.yaml:/config.yaml # Mapper lokal config-fil til /config.yaml inne i containeren - ./data:/data # Lagrer runnerdata persistent i lokal mappe ./data - /var/run/docker.sock:/var/run/docker.sock # Gir runneren tilgang til Docker-daemonen på hosten networks: # Angir hvilke nettverk runneren kobles til - ass5_net # Kobler runneren til samme nettverk som Gitea og databasen volumes: postgres_data: caddy_data: caddy_config: secrets: postgres_password: file: ./secrets/postgres_password.txt networks: caddy_shared: external: true ass5_net: external: false